在关联/连接模型上使用update_attributes

时间:2012-10-07 21:58:12

标签: ruby-on-rails activerecord

membership = Membership.where(user_id: 1, group_id: 1).first
# some other code
membership.update_attributes(admin: true)

生成查询

UPDATE 'memberships' SET 'admin' = 1 WHERE 'memberships'.'' IS NULL

导致错误。

1 个答案:

答案 0 :(得分:0)

'memberships'.'' IS NULL必须为'memberships'.'id'=

我认为模型中没有id。

然后更新属性的正确方法将是那样的

membership = User.find(1).memberships.first
# some other code
membership.update_attributes(admin: true)

<强>更新

似乎将id添加到此模型将是最佳选择。