合并参数rails

时间:2016-09-09 13:00:19

标签: ruby-on-rails ruby ruby-on-rails-4 merge strong-parameters

在我的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

任何帮助表示赞赏! 感谢。

1 个答案:

答案 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