我到处搜索过,但是没有人知道是否有可能在rails中使用强参数来允许数组和数组吗?我的代码如下所示:

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

这给了我:



我也尝试过:
params.require(:resource).permit(:foo, :bar => [[]])
params.require(:resource).permit(:foo, :bar => [][])
params.require(:resource).permit(:foo, :bar => [])

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

预先感谢您的任何帮助

最佳答案

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

关于ruby-on-rails - 允许在Rails中具有强参数的数组的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30984502/

10-09 18:41