我到处搜索但有人知道是否可以使用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 => [])
但是这些都会给我带来无效的参数错误或者不处理参数。
提前感谢您提供任何帮助
答案 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 => [] }])