配列内にハッシュが入った形式でのフォームデータ取得例。要するにネストしたパラメータの取得方法です。
例は、フォームのチェックボックスでチェックした値とそれに紐づくテキスト情報を取得する方法です。
view側のフォーム例
# slim
= hidden_field_tag 'hoge_task[tasks][][hoge_id]', hoge_id
= check_box_tag 'hoge_task[tasks][][checked]', 1, false, { disabled: false }
= hoge_name
= text_area_tag 'hoge_task[tasks][][note]', note
注意:checkboxを先頭に持っていくとチェックされていない時値が入らないため、値がずれて取得してしまうので、常にフィールドが送信されるテキストやhiddenを先頭に持っていくようにした方がいい。
Strong Parameters
params.require(:hoge_task).permit(tasks: [%w(hoge_id checked note)])
取得結果
"hoge_task"=>
{"tasks"=>
[{"hoge_id"=>"1", "note"=>"aaaaaa"},
{"hoge_id"=>"2", "checked"=>"1", "note"=>"bbbbbbbbbbbb"},
{"hoge_id"=>"3", "note"=>"ccccccccccc"}]}