我正在尝试使用mongoid更新嵌套的has_one模型,但它不会持久化has_one关联
即时运行Rails 3.07& Mongoid 2.2
小部件模型
class Widget
include Mongoid::Document
embeds_many :permissions, :default => []
end
权限模型
class Permission
include Mongoid::Document
field :admin, :type => Boolean, :default => false
has_one :user
embedded_in :widget
end
用户模型
class User
include Mongoid::Document
belongs_to :permission
end
这是我从rails console获得的结果;
@widget.permissions << Permission.new(:user => current_user)
=> [#<Permission _id: 4e5aced1c155df4b33000001, _type: nil, admin: false>]
@widget.save
=> true
@widget.permissions.first.user
=> #<User _id: 4e5ac71ec155df470f000001, _type: nil, email: "ada ..... >
看起来好像用户已保存,但不会保存到mongo。 正在保存权限,但没有用户。
有什么想法吗?
答案 0 :(得分:2)
您是否应该在用户模型中使用“embedded_in”而不是“belongs_to”?