2011-03-30 22 views
7

Tengo un modelo como esteproblema de la herencia MongoId

class Canvas 
    include Mongoid::Document 
    field :name 
    referenced_in :hero 
end 

class Browser < Canvas 
    field :version, :type => Integer 
end 

class Hero 
    include Mongoid::Document 
    field :name 
    references_many :canvases 
end 

¿Cómo puedo construir Brower objeto referido objeto de héroe.

todo lo que quiero hacer es

h = Hero.create!({:name => 'Aston'}) 
h.browsers.build 

Sin embargo, me dio un error

undefined method `browsers' for #<Hero _id: 4d92c8fc1426960fff000005, name: "Aston"> 

Me estoy perdiendo algo?

Gracias

Respuesta

4

probar esto

h.canvases.build({},Browser) 

esto funciona para mongoid.2.0.0.rc7

+2

nota esta respuesta sólo funciona para Mongoid 2.0.0rc7 y no funciona en MongoId-2.0 .0.beta.19. – Gagan

+0

Encontré esta respuesta a través de http://modetojoy.blogspot.com/2010/01/inheritance-in-mongoid.html –

Cuestiones relacionadas