2012-10-07 22 views

回答

0

'memberships'.'' IS NULL必須'memberships'.'id'=

並且在模型中沒有ID我想。

然後更新屬性以正確的方式將類似的東西

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

UPDATE

似乎添加ID這種模式將是最好的選擇。

+0

它使用'update_attribute(:admin,true)'生成相同的sql。看到我的問題,生成的sql的WHERE子句顯然無效。 – powerboy

+0

更新了答案 – alex

+0

哦,你是對的。 「memberships」表中沒有「id」列。相反,它有一個複合主鍵'(user_id,group_id)'。我認爲連接表不需要'id',所以我在遷移中設置了'id:false'。所以有必要在連接表中添加一個'id'列? – powerboy