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