散列导轨的允许阵列5

时间:2018-12-20 15:36:53

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

我的rails版本是5,我有这样的请求参数,

{ "segment": {
    "name": "test",
    "new_filters": [
      {"criteria": "sad",
        "other_keys": [{"key": "value"}]
      }, 
      {"criteria": "sad",
        "other_keys1": [{"key1": "value1"}]
      }]
}
}

我一直在允许在rails控制器中使用new_filter参数, 我正在尝试以下代码,

params.require(:segment).permit(:name, :people_count, new_filters: [])

,仍然出现错误。但是,在new_filter键中具有字符串数组时,情况并非如此。 例如:[“ sad”,“ asdasd”]。如何将嵌套结构作为列入白名单的属性?

2 个答案:

答案 0 :(得分:1)

在用于细分的模型文件中,尝试添加线

accepts_nested_attributes_for :new_filters

这应该允许您传递那些属性。

https://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

答案 1 :(得分:1)

这在测试您的属性时对我有用:

seq(2, n - 1)
相关问题