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