2011-03-30 15 views
7

मैं इस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 

मैं Brower वस्तु हीरो वस्तु से संदर्भित कैसे निर्माण कर सकते हैं की तरह एक मॉडल है।

सभी मैं करना चाहता हूँ

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

हालांकि यह मुझे एक त्रुटि

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

मैं कुछ कमी कर रहा हूँ दे दी है?

धन्यवाद

उत्तर

4

इस

h.canvases.build({},Browser) 

कोशिश इस बात के लिए mongoid.2.0.0.rc7

+2

टिप्पणी इस जवाब Mongoid 2.0.0rc7 के लिए ही काम करता है और mongoid-2.0 में काम नहीं करता है काम करता है .0.beta.19। – Gagan

+0

मुझे यह जवाब http://modetojoy.blogspot.com/2010/01/inheritance-in-mongoid.html के माध्यम से मिला –