【问题标题】:Merging parameters rails合并参数轨
【发布时间】:2016-09-09 13:00:18
【问题描述】:

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

    我会这样做:

    def party_params
      params.require(:party).permit(:length, :game_id, user_ids: []).tap do |p|
        p[:user_ids] << current_user.id
      end
    end
    

    【讨论】:

    • 谢谢!效果很好 - 我不知道 .tap ,所以将来会有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多