使用strong_parameters序列化数组

tre*_*065 10 ruby strong-parameters ruby-on-rails-4

我正在尝试使用strong_parameters gem保存数组.但我遇到表单如何发送我的数组的问题.参数看起来像这样:

> params[:circuit] 
=> {"title"=>"Some title", ..., "viewable_tasks"=>{"0"=>"woop", "1"=>"dee", ...}}
Run Code Online (Sandbox Code Playgroud)

我的circuit_params功能看起来像:

def circuit_params
  params.require(:circuit).permit(:title, :id, viewable_tasks: { }, ... )
end
Run Code Online (Sandbox Code Playgroud)

我似乎无法获得允许我的参数工作的语法.我在控制台中得到的是:

> circuit_params
=> {"title"=>"implement plug-and-play mindshare",
 "viewable_tasks"=>{"0"=>nil, "1"=>nil, "2"=>nil}, ...
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我有:

class Circuit < ActiveRecord::Base
   serialize :viewable_tasks, Array
   ...
end
Run Code Online (Sandbox Code Playgroud)

我注意到我可以使用我调用的属性使其正常工作accepts_nested_attributes_for,因此这可能与它有关.

谢谢你的帮助

Tom*_*ssi 14

我只是遇到了同样的问题,这是正确的语法:

def circuit_params
  params.require(:circuit).permit(:title, :id, {:viewable_tasks => []}, ... )
end
Run Code Online (Sandbox Code Playgroud)