不能允许具有强参数的自定义参数

时间:2013-08-05 10:05:26

标签: ruby-on-rails ruby forms parameters strong-parameters

我想允许嵌套的自定义参数,但我不确定如何访问它们。

这些是我的参数:

params=> 
  {"utf8"=>"✓",
   "authenticity_token"=>"...",
   "tracking"=>{"installation"=>"4", "code"=>[{"1"=>"one", "2"=>"two"}]},
   "action"=>"create",
   "controller"=>"admin/trackings"}

根据Strong Parameters documentation,我尝试了一些像这样的组合:

def tracking_params
  params.require(:tracking).permit(:installation, code: [])
end

但他们没有工作。我错过了什么?

2 个答案:

答案 0 :(得分:0)

def tracking_params
  params.require(:tracking).permit(:installation, {:code => []})
end

答案 1 :(得分:0)

您是否尝试过在模型级别上解决此问题?我想你只需要添加:

accepts_nested_attributes_for :tracking

不确定您的Rails版本是什么,但Rails 5.1.2的文档似乎涵盖了这个