rails 4强参数仍然未经许可

时间:2014-11-29 14:14:39

标签: ruby-on-rails-4

我在Rails 4中有一个强参数的问题,基本上我有这个参数

  Parameters: {"user_id"=>"1", "attends"=>[{"survey_id"=>15, "question_id"=>67, "anwser_id"=>196}, {"survey_id"=>15, "question_id"=>68, "anwser_id"=>200}, {"survey_id"=>15, "question_id"=>69, "anwser_id"=>202}, {"survey_id"=>15, "question_id"=>70, "anwser_id"=>205}, {"survey_id"=>15, "question_id"=>71, "anwser_id"=>208}], "attend"=>{}}

在我的控制器中我有

private
def attend_params
    params.permit(:user_id, :format, :attend, :attends, {:attends => []})
end

但我仍然收到此错误

Unpermitted parameters: attends, attend

在我的控制器中通过这种方式调用attend_params,不多,通过POST创建的方法传递的数据由外部应用程序提交。没有观点。

def create
    logger.info "\n attend_params #{attend_params}\n"
end

任何提示? 谢谢

1 个答案:

答案 0 :(得分:1)

试试这个

params.permit(:user_id, :format,
  attend: {} ,
  attends: [ :survey_id, :question_id, :anwser_id ])

<强>更新
正如您在附带的屏幕截图中看到的,我创建了一个请求,该请求产生相同的参数集。我故意添加一个user param,这是不允许的,你可以看到user参数被拒绝,其他参数都经过。您确定提供了正确的参数吗?

enter image description here