我遇到的问题是对引用文档的嵌套属性的更新没有被保留
> u = User.first
=> #<User...
> u.changes
=> {}
> u.profile.changes
=> {}
> u.attributes = {:profile_attributes => {:weight => 8}}
=> {:profile_attributes=>{:weight=>8}}
> u.changes
=> {}
> u.profile.changes
=> {"weight"=>[14.0, 8.0]}
> u.update
=> true
> u.shipping_profile.changes
=> {"weight"=>[14.0, 8.0]}
update / update_attributes / save all不会保留嵌套的更改。
我在用户模型中声明了attr_accessible :profile_attributes
。
当父文档已经保留时,嵌套属性需要保留什么?
答案 0 :(得分:0)
您的User
课程中是否有以下内容?
accepts_nested_attributes_for :profile
如果你错过了这一行,我很确定它会忽略所有使用update_attributes
通过父级更新嵌套记录的尝试。
答案 1 :(得分:0)
发现它是一个mongoid问题。对于有同样问题的其他人,我在https://github.com/mongoid/mongoid/pull/978提交失败测试的拉取请求。我只是手动保存/更新嵌套记录,直到其解决