如果我将哈希转换为查询字符串,如何再次转换回来?
{: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)