我试图弄清楚如何使用Mongoid优雅地更新文档与现有文档的关联。
如果我有用户和组,并且想要将用户分配给现有组,我该如何通过update_attributes执行此操作?
我希望能够做到这样的事情:
user.attributes = { groups: [{"_id":"existing group id here"}]}
user.save
当我尝试执行上述操作时,Mongoid会尝试插入新组,从而导致ID重复错误。 我试过通过嵌套属性做同样的事情:
user.groups_attributes = [{"_id":"existing group id here"}]
user.save
发生同样的错误。反正我是否可以这样做而无需手动查询组ID并将其推入阵列?我问的原因是因为我说我有一个有很多关联的模型..我不想让代码块手动更新每个关联
答案 0 :(得分:0)
将现有用户分配给具有update_attributes
的现有组非常简单(假设您已添加了组/用户关系)。
user.update_attributes(:group_id => 'existing group id here')