2015-04-06 2 views
1

Я хочу получить параметры запроса без замены + на "". По умолчанию Rails parse + подобный пробел.Rails params escape/unescape +

Example /query?p=abc+abc 

params[:p] = 'abc abc', not 'abc+abc' 

Как получить пара без экранирования?

Да, я могу сделать .gsub(/[ ]/, '+'), но как получить исходные параметры перед рельсами unescape them?

ответ

1

Я не уверен, что это возможно. Тот же код, который преобразует плюс в космос, также обрабатывает декодирование %NN символов. Вы можете получить необработанную строку запроса (для запроса GET), используя request.query_string. Он вернется примерно так: one=two+three&four=five+six.

+0

Благодарим вас за ответ. Да, я знаю о 'request.query_string'. Как я понимаю, я должен использовать parser params как есть, или просто выполнить синтаксический анализ самостоятельно. –