Strong parameterで受け取れなかったparameter
Strong Parameterを使っていて、取れないケースあたってしまい、後回しにしたので、気になっている。 Workaroundや、Hackな対応をする予定なので、明日また書き直す。
{ hoge: { id: '1', name: '2', age: '29', '1': { ... }, '2': { ... } } }
class HogeController < ApplicationController private def set_params # 間違っています。 params.reuqire(:hoge).permit(:id, :name, :age, '1', '2') end end
ここで、まず無理でした。数値をシンボル化できず、Strong Parameterでセットできないため。
... def set_params params.require(:hoge).permit(:id, :name, :age).to_h.merge((1..2).each_with_object({}) { |i, h| h[i.to_s] = params[:hoge][i.to_s] }) end ...
- また明日、書き直します。
参考
http://api.rubyonrails.org/classes/ActionController/Parameters.html