在我的rails应用中,用户可以选择他们想要加入“聚会”的其他用户。用。我尝试将当前用户的ID与用户选择的ID合并。这是我试过的一种方式:
def party_params
params.require(:party).permit(:length, :game_id, user_ids: []).merge("user_ids" => ["user_ids"] + [current_user.id])
end
这回来了:
找不到具有':':(0,17)的所有用户(找到1个结果,但是 寻找2)
执行.merge(:user_ids => [current_user.id])
会导致仅使用当前用户创建一方,并删除所有选定的用户。
我还尝试将.merge移动到一个函数并将其调用为新函数,但这似乎也无效。
在我的模型中,聚会has_and_belongs_to_many :users
和用户has_and_belongs_to_many :parties
任何帮助表示赞赏! 感谢。
答案 0 :(得分:3)
我会做这样的事情:
def party_params
params.require(:party).permit(:length, :game_id, user_ids: []).tap do |p|
p[:user_ids] << current_user.id
end
end