我有通过以下形式发送的参数:
{ "mac"=>{"0"=>["111", "222"], "1"=>["333", "444"]} }
我怎样才能以正确的方式允许它们,因为我发现了一个丑陋的解决方案:
params.permit(mac: Hash[(0..100).map { |i| [i.to_s, []] }])
答案 0 :(得分:0)
你会考虑hash的keep_if方法,因为params只是一个哈希值。
params[:mac].keep_if {|k, v| k.to_i >= 0 and k.to_i <= 100}
答案 1 :(得分:0)
从:mac
键中取出密钥,然后允许它们。
mac_keys = params.fetch(:mac, {}).keys
params.permit(mac: mac_keys)