ruby-on-rails - 在 Rails 中,如何获取 GET 字符串并将其解析为对象?

标签 ruby-on-rails ruby-on-rails-3

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

给定一个 GET 风格的字符串,如 foo=bar&x[0]=baz,我如何在 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 中,在某种程度上,这实际上是经过检查的。

最佳答案

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

Rack::Utils.parse_nested_query 'foo=bar&x[foo][bar]=baz'
 => {"foo"=>"bar", "x"=>{"foo"=>{"bar"=>"baz"}}}

关于ruby-on-rails - 在 Rails 中,如何获取 GET 字符串并将其解析为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12940124/

相关文章:

ruby-on-rails-3 - 如何通过 has_many through 关联建立 has_one through 关联?

javascript - 编写此 jquery 的更好选择

ruby-on-rails - Rails 3.1.3 在使用 compass+sussy+haml+scss 编译 Assets 时在登台服务器中出错

javascript - “twitter-typeahead”gem 语法错误

ruby-on-rails - 点击兑换优惠

ruby-on-rails - NameError: 未初始化常量 -- activerecord

ruby-on-rails - rails : How do I search tags generated by Act_As_Taggable_On with PG_Search? (postgresql)

ruby-on-rails - Rails将请求发送到其他容器[无法打开TCP连接]

mysql - Rails Active Admin PUT 不更新 bool 值 (SQL Server)

ruby-on-rails - 我可以使用 AR 对象作为哈希键还是应该使用 object_id