Rails 4 の強力なパラメーターに問題があります。問題は、次のようなパラメーターを渡そうとすると、後で ForbiddenAttributesError 例外が発生することです。
"survey_answer"=>{"a1"=>"answer_1",
"a2"=>"answer_1",
"a3"=>"answer_3",
"a4"=>["test1",
"test2",
"test3"],
"a7"=>"answer_7",
"name"=>"Test name",
"industry"=>"Test industry",
"email"=>"test@test.com"}}
ご覧のとおり、a4 は、値の配列を生成するチェック ボックスから取得されます。この点に対する私の提案された解決策はこれです:
params.require(:survey_answer).permit(:a1, :a2, :a3, :a7, :name, :email, :industry, :a4 => [], :a5, :a6)
残念ながら、どのようにリファクタリングしても、同じポイントに到達します。