2

我很肯定这是一个骗局,但我找不到原件。

给定一个 GET 样式的字符串,如foo=bar&x[0]=baz,我如何params在 Rails 应用程序中将其解码为 -like 数组?


更新添加:请注意,这CGI.parse似乎比 Rails 所做的任何事情都要少得多:

1.9.3p194 :006 > CGI::parse 'foo=bar&x[foo][bar]=baz'
 => {"foo"=>["bar"], "x[foo][bar]"=>["baz"]} 

CGI.parse 没有将嵌套对象解包到多级哈希中。在 Rails 中,在某种程度上,这实际上是经过检查的。

4

1 回答 1

9

对于嵌套查询,Rails 使用 Racks 的参数解析器Rack::Utils.parse_nested_query

Rack::Utils.parse_nested_query 'foo=bar&x[foo][bar]=baz'
 => {"foo"=>"bar", "x"=>{"foo"=>{"bar"=>"baz"}}}
于 2012-10-17T17:48:50.780 回答