我遇到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)
不幸的是,无论我如何重构,我仍然会达到同样的目的。
答案 0 :(得分:0)
试试这个。
params.require(:survey_answer).permit(:a1, :a2, :a3, :a7, :name, :email, :industry, {:a4 => []}, :a5, :a6)
答案 1 :(得分:0)
试试这对我有用
params.require(:survey_answer).permit(:a1, :a2, :a3, :a7, :name, :email, :industry, :a5, :a6, a4: [])
最后移动数组类型参数。 我希望这会奏效。