允许在rails中使用强参数的数组数组

时间:2015-06-22 15:55:21

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

我到处搜索但有人知道是否可以使用rails中的强参数来允许和阵列数组?我的代码如下所示:

params.require(:resource).permit(:foo, :bar => [[:baz, :bend]])

这给了我:

  

ArgumentError(错误的参数数量(0表示1..2))

我也尝试过:

params.require(:resource).permit(:foo, :bar => [[]])
params.require(:resource).permit(:foo, :bar => [][])
params.require(:resource).permit(:foo, :bar => [])

但是这些都会给我带来无效的参数错误或者不处理参数。

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:2)

code我认为这是不可能的。你必须压扁第二级。

 def permit(*filters)
  params = self.class.new

  filters.each do |filter|
    case filter
    when Symbol, String
      permitted_scalar_filter(params, filter)
    when Hash then
      hash_filter(params, filter)
    end
  end

  unpermitted_parameters!(params) if self.class.action_on_unpermitted_parameters

  params.permit!
end

答案 1 :(得分:-1)

以下是rails strong parameter Github page的一个例子:

params.permit(:name, {:emails => []}, :friends => [ :name, { :family => [ :name ], :hobbies => [] }])