Ответ 1
Вы ищете Rack::Utils.parse_nested_query(query)
, который преобразует его обратно в Hash
. Вы можете получить его, используя следующую строку:
require 'rack/utils'
Если я преобразую хэш в строку запроса, как я могу его снова преобразовать?
{: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)