mongoidreferences_and_referenced_in_many
我有一个奇怪的问题。我是 mongoid 的新手,所以我很难确定是我还是 mongoid 的错...
class User
include Mongoid::Document
embeds_one :profile, :class_name => "UserProfile"
references_and_referenced_in_many :roles
end
class UserProfile
include Mongoid::Document
embedded_in :user
end
class Role
include Mongoid::Document
references_and_referenced_in_many :users
end
当我创建实例时,呈现我的代码可能是最好的解释(减去字段/验证/等),并具有以下关联这些对象的像这样...
user = User.new :username => 'username',
:email => '[email protected]',
:password => 'password'
user.build_profile :first_name => 'John',
:last_name => 'Doe',
:birthday => Date.new(1980, 1, 1)
user.roles << Role.new(:name => 'Administrator')
user.save
...我可以使用 User.first
或 user
查看此用户
...我可以使用 User.first
查看该用户的个人资料。 first.profile 和 user.profile
...我可以使用 user.roles
查看角色,但我无法使用 <代码>User.first.roles。
另一个奇怪的事情是 user.roles.count
和 User.first.roles.count
都返回 0,即使当我查看 user.roles
时也是如此,它返回 [#
。 (User.first.roles
返回一个空数组)
这似乎是一个错误。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用:自动保存=>对于关系关联为 true
,或者您可以显式将
role
保存为这是由于 mongoid.2.0.0.rc.1 + 列出的 此处。
use :autosave => true for the relational association
or you can explicitly save the
role
asThis is due to changes in mongoid.2.0.0.rc.1 + listed here.