2

我在使用 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)

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

4

2 回答 2

0

试试这个它对我有用

params.require(:survey_answer).permit(:a1, :a2, :a3, :a7, :name, :email, :industry, :a5, :a6, a4: [])

只需在最后移动您的数组类型参数。我希望这会奏效。

于 2015-02-25T16:08:55.987 回答
0

尝试这个。

params.require(:survey_answer).permit(:a1, :a2, :a3, :a7, :name, :email, :industry, {:a4 => []}, :a5, :a6)
于 2013-08-05T03:28:23.803 回答