我想破坏关系中的数据,但我不能

时间:2011-12-23 16:29:14

标签: ruby-on-rails ruby

我希望用户通过删除分组来删除用户参加群组的群组。 所以,我尝试在代码下面写,但是当运行离开动作时,它会发生错误 Unknown key: group_id。但我不知道如何处理它。请帮忙。 提前谢谢。

GroupingsController.rb

def leave
  @user = current_user
  @group = Group.find(params[:id])
  @user.remove(@group)
  redirect_to :back , notice: "Destroy!"
end

User.rb

has_many :groups, :through => :groupings,:source => :group

def remove(group)
  groupings.find_by_group_id(:group_id => group).destroy
end

# attend method is work correctly.
def attend(group)
  groupings.create(:group_id => group)
end

1 个答案:

答案 0 :(得分:1)

您已经指定使用group_id(通过说find_by_group_id) - 因此您无需再将其作为“密钥”传递(例如:group_id =>

所以你的代码应该是

def remove(group)
  groupings.find_by_group_id(group.id).destroy
end