Mongoid嵌套has_one问题

时间:2011-08-28 23:40:00

标签: ruby-on-rails mongoid

我正在尝试使用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。 正在保存权限,但没有用户。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您是否应该在用户模型中使用“embedded_in”而不是“belongs_to”?