モデルグループとモデルユーザーがいます
それらは「has_many:through=>groups_users」で双方向に接続されています
groups_usersテーブルには、ユーザーがグループのモデレーターであるかどうかを指定する、moderatorと呼ばれる属性があります。
参加モジュール属性を更新しようとすると、間違いが発生します
私が今それをしている方法:
@group_membership=@group.groups_users.find_by_user_id(@user.id)
if @group_membership!=nil
@group_membership.moderator=true
else
@group_membership=GroupsUser.new(:user_id => @user.id, :group_id => @group.id, :moderator => true)
end
@group_membership.save
コードはmysqlの間違いを引き起こしています:
Unknown column 'id' in 'where clause': UPDATE `groups_users` SET `moderator` = 1 WHERE `id` = NULL
それを行うためのより良い方法はありますか、それともgroups_users結合モデルテーブルにid列を追加してidにインデックスを付ける必要がありますか?