【发布时间】:2014-07-17 02:44:59
【问题描述】:
我被 strong_parameters 和这个内部带有动态哈希 (hstore) 的哈希数组所困扰。
结构如下:
{ contact_sources: [
{ id: 1, filled_fields: { randomstuff: 'randomdata', dunno: 123 } },
{ id: 2, filled_fields: { blah: 'blabla', dunno: 9043 } }
] }
所以,我的主要尝试如下:
params.permit(contact_sources: [{:filled_fields => []}, 'id'])
不返回填充字段。对如何处理有什么建议吗?
更新 1: 我有以下型号:
class ContactSource < ActiveRecord::Base
# Fields: id:integer, filled_fields:hstore
end
在我的操作中,我一次提交多条记录(大规模更新),所以我有一个contact_source数组,但实际上它们不属于任何东西,这只是一次大规模更新.
【问题讨论】:
-
我不太明白这是如何设置的...但也许您可以使用 attr_accessor 来引用 contact_sources 哈希,然后允许 attr_accessor?
-
@user3334690:不,我没有任何关联,请参阅我的更新 1 它应该更好地解释我在做什么
-
表单是什么样的?
-
没有表单 @user3334690 ,我执行 ajax 请求并传递该数组
-
哦,我想我明白你现在在做什么了......我认为你正在寻找的是合并(也许是 deep_merge 给定你的哈希)而不是许可......我不是不过,对强参数很熟悉,所以我不确定如何使用它们
标签: ruby-on-rails ruby-on-rails-4 strong-parameters hstore ruby-on-rails-4.1