传递值数组时获取ForbiddenAttributesError

时间:2013-08-05 00:30:40

标签: ruby-on-rails

我遇到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)

不幸的是,无论我如何重构,我仍然会达到同样的目的。

2 个答案:

答案 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: [])

最后移动数组类型参数。 我希望这会奏效。