使用 Rails 3.2 和 Mongoid 2.4。我有一个遗留模型 Organization,它嵌入了很多 organization_members。它看起来像这样:
class Organization
include Mongoid::Document
embeds_many :organization_members
end
class OrganizationMembers
include Mongoid::Document
embedded_in :organization
end
我想做的是将我用来访问成员的方法从 organization.organization_members 更改为仅 organization.members。这是我所做的:
class Organization
include Mongoid::Document
embeds_many :members, class_name:"OrganizationMember"
end
class OrganizationMembers
include Mongoid::Document
embedded_in :organization
end
但是,现在 organization.members 返回一个空数组,而 organization.organization_members 返回以前的文档,即使它没有定义 church_members。
我如何说服 Mongoid 使用以前的嵌入式集合名称并通过新方法调用(Organization#members 而不是 Organization#organization_members)访问它?
最佳答案
有一个选项 embeds_many
,称为 store_as
。
class Organization
include Mongoid::Document
embeds_many :members,
class_name:"OrganizationMember",
store_as: 'organization_members'
end
关于ruby-on-rails - 更改 mongoid embeds_many 关联名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695050/