ruby - 使用 strong_parameters 序列化数组

标签 ruby ruby-on-rails-4 strong-parameters

我正在尝试使用 strong_parameters gem 保存一个数组。但是我对表单发送数组的方式有疑问。参数看起来像这样:

> 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

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

> 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 的属性一起正常工作,所以这可能与它有关。

感谢您的帮助

最佳答案

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

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

关于ruby - 使用 strong_parameters 序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15983208/

相关文章:

ruby - `+` 在 `*` 之后的含义,当后者在正则表达式中用作量词时

ruby - 在任意位置设置哈希值

ruby-on-rails - Rails 中 rake 的范围是什么

ruby-on-rails - 从 3.2.12 到 4.2.0 的 Rails 查询转换不返回任何内容

ruby-on-rails - 如何将json存储到rails中的数据库

ruby-on-rails-4 - find_or_create_by 使用 mongoid 和 sidekiq 会导致重复

ruby-on-rails - 有没有办法重命名强参数键?

ruby-on-rails - rails 4 强参数 ForbiddenAttributesError

ruby-on-rails - 在 Rails 4 中使用强参数一次创建或更新多个记录

ruby-on-rails - ruby 2.1.2 中 "#$e"的含义是什么