mongoid继承问题

Gag*_*gan 7 inheritance has-many 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
Run Code Online (Sandbox Code Playgroud)

如何构建从Hero对象引用的Brower对象.

我想做的就是

h = Hero.create!({:name => 'Aston'})
h.browsers.build
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误

undefined method `browsers' for #<Hero _id: 4d92c8fc1426960fff000005, name: "Aston">
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

谢谢

Sad*_*tam 4

尝试这个

h.canvases.build({},Browser) 
Run Code Online (Sandbox Code Playgroud)

这适用于 mongoid.2.0.0.rc7

  • 请注意,此答案仅适用于 Mongoid 2.0.0rc7,不适用于 mongoid-2.0.0.beta.19。 (2认同)