使用rails 5合并ActionController :: Parameters

Oli*_*ier 1 ruby-on-rails actioncontroller strong-parameters ruby-on-rails-5

在rails 4中,我可以合并!StrongParams,但因为rails 5(beta1)合并!不可用.这是在控制器中执行此操作的最佳方法

  params = ActionController::Parameters.new({
             name: 'Francesco',
             age:  22,
             role: 'admin'
         })
         params.merge!(city: "Los Angeles")
Run Code Online (Sandbox Code Playgroud)

Sim*_*tti 5

至于我可以看到从源代码中,你有merge没有merge!.换句话说,似乎不可能在适当的位置修改散列.

以下代码将起作用:

params = ActionController::Parameters.new({
             name: 'Francesco',
             age:  22,
             role: 'admin'
         })
params = params.merge(city: "Los Angeles")
Run Code Online (Sandbox Code Playgroud)

  • @WM有点`params [:nested_pa​​rams] = params [:nested_pa​​rams] .merge(...)` (3认同)