例如,我有三个模型,即modelA,modelB和modelC
class ModelA
embeds_many :modelBs
accepts_nested_attributes_for :modelBs
end
class ModelB
embedded_in :modelA
embeds_many :modelCs
accepts_nested_attributes_for :modelBs
end
class ModelC
embedded_in :modelB
end
我正在尝试从一个控制器(即ModelAcontroller)创建所有三个模型。我该如何在蒙古族中做到这一点?在活动记录中,只需声明accepts_nested_attributes_for即可完成工作。
答案 0 :(得分:1)
首先,包含Mongoid :: Document
class ModelA
include Mongoid::Document
embeds_many :modelBs
end
class ModelB
include Mongoid::Document
embedded_in :modelA
embeds_many :modelCs
end
class ModelC
include Mongoid::Document
embedded_in :modelB
end
您可以像这样创建嵌套模型:
a_instance = ModelA.create(
modelBs: [
{ modelCs: [{}]}
]
)
a_instance.modelBs.first.modelCs.first._id # => BSON::ObjectId('5f0df5e063067000824541b5')