我很肯定这是一个骗局,但我找不到原作。
给定像foo=bar&x[0]=baz
这样的GET样式字符串,如何将其解码为Rails应用程序中的params
类数组?
已更新以添加:请注意CGI.parse
似乎比魔术Rails所做的要少得多:
1.9.3p194 :006 > CGI::parse 'foo=bar&x[foo][bar]=baz'
=> {"foo"=>["bar"], "x[foo][bar]"=>["baz"]}
CGI.parse没有将嵌套对象解压缩为多级哈希。在Rails中,在某种程度上,实际上已经对此进行了检查。
答案 0 :(得分:6)
对于嵌套查询,Rails使用Racks的参数解析器Rack::Utils.parse_nested_query
:
Rack::Utils.parse_nested_query 'foo=bar&x[foo][bar]=baz'
=> {"foo"=>"bar", "x"=>{"foo"=>{"bar"=>"baz"}}}