Gle*_*enn 2 ruby-on-rails mongodb mongoid ruby-on-rails-3
使用Rails 3.2和Mongoid 2.4.我有一个遗留模型,即组织,embeds_many organization_members.它看起来像这样:
class Organization
include Mongoid::Document
embeds_many :organization_members
end
class OrganizationMembers
include Mongoid::Document
embedded_in :organization
end
Run Code Online (Sandbox Code Playgroud)
我想要做的是更改我用来访问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
Run Code Online (Sandbox Code Playgroud)
但是,现在organization.members返回一个空数组,organization.organization_members返回以前的文档,即使它没有定义church_members.
如何说服Mongoid使用以前的嵌入式集合名称并通过新的方法调用访问它(组织#成员而不是组织#organization_members)?
有一个选项embeds_many,叫做store_as.
class Organization
include Mongoid::Document
embeds_many :members,
class_name:"OrganizationMember",
store_as: 'organization_members'
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2438 次 |
| 最近记录: |