Rails: напротив Hash # to_param - PullRequest
15 голосов
/ 18 мая 2011

Если я преобразую хэш в строку запроса, как я могу преобразовать его обратно?

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

Rails, кажется, делает это автоматически, когда заполняет хеш params, но возможно ли вызвать этот метод напрямую?

Спасибо.

Ответы [ 2 ]

30 голосов
/ 18 мая 2011

Вы ищете Rack::Utils.parse_nested_query(query), который преобразует его обратно в Hash.Вы можете получить его, используя эту строку:

require 'rack/utils'
1 голос
/ 18 мая 2011
query_string = "filters[colour][]=Red&filters[colour][]=Blue&filters[size]=Medium"
CGI::parse(query_string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...