序列与strong_parameters阵列(Serialize array with strong

2019-08-22 14:34发布

我想保存使用strong_parameters创业板阵列。 但我有多么的形式发送我的数组的问题。 】这个params是这样的:

> params[:circuit] 
=> {"title"=>"Some title", ..., "viewable_tasks"=>{"0"=>"woop", "1"=>"dee", ...}}

而我circuit_params功能是这样的:

def circuit_params
  params.require(:circuit).permit(:title, :id, viewable_tasks: { }, ... )
end

我似乎无法得到的语法,让我的PARAMS工作。 我得到我的控制台是:

> circuit_params
=> {"title"=>"implement plug-and-play mindshare",
 "viewable_tasks"=>{"0"=>nil, "1"=>nil, "2"=>nil}, ...

在我的模型,我有:

class Circuit < ActiveRecord::Base
   serialize :viewable_tasks, Array
   ...
end

我注意到,我可以得到它与我所说的属性正常工作accepts_nested_attributes_for ,所以这可能是与它。

谢谢你的帮助

Answer 1:

我有同样的问题,这是正确的语法:

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


Answer 2:

序列化的项目必须在许可证参数的结束。 根据我的经验(我不知道为什么),您可以在一个序列化后不输入另一个序列化的项目...尝试,让我们知道。



Answer 3:

尝试使用这样的:

def circuit_params
  params.require(:circuit).permit(:title, :id, viewable_tasks:[], ... )
end


文章来源: Serialize array with strong_parameters