合并参数rails

问题描述 投票:2回答:1

在我的rails应用程序中,用户可以选择他们想加入“派对”的其他用户。我正在尝试将当前用户的ID与用户选择的ID合并。这是我试过的一种方式:

def party_params
   params.require(:party).permit(:length, :game_id, user_ids: []).merge("user_ids" => ["user_ids"] + [current_user.id])
end

这回来了:

找不到拥有'id'的所有用户:(0,17)(找到1个结果,但是正在寻找2)

执行.merge(:user_ids => [current_user.id])会导致仅使用当前用户创建聚会并删除所有选定的用户。

我也尝试将.merge移动到一个函数并在new上调用它,但这似乎也不起作用。

在我的模型中,一方has_and_belongs_to_many :users和用户has_and_belongs_to_many :parties

任何帮助赞赏!谢谢。

ruby-on-rails ruby ruby-on-rails-4 merge strong-parameters
1个回答
3
投票

我会做这样的事情:

def party_params
  params.require(:party).permit(:length, :game_id, user_ids: []).tap do |p|
    p[:user_ids] << current_user.id
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.