Rails:Hash#to_param的对面

如果我将哈希转换为查询字符串,我该如何将其转换回来?

{:filters => {:colour => ['Red', 'Blue'], :size => 'Medium'}}.to_param => "filters[colour][]=Red&filters[colour][]=Blue&filters[size]=Medium" 

Rails在填充params哈希时会自动执行此操作,但是可以直接调用此方法吗?

谢谢。

您正在寻找Rack::Utils.parse_nested_query(query) ,它会将其转换回Hash 。 您可以使用以下行来获取它:

 require 'rack/utils' 
 query_string = "filters[colour][]=Red&filters[colour][]=Blue&filters[size]=Medium" CGI::parse(query_string)