Как вы передаете закодированные параметры в Rails через перенаправление? - PullRequest
0 голосов
/ 13 сентября 2011

Это может быть довольно простой вопрос, но моя цель здесь - перенаправить на другую часть моего приложения и уверенно передавать параметры.

Сейчас я хочу передать параметры: mobile и: content из"/ xxx" to "/yyy".

Параметры вводятся в" / xxx "в чистом виде, но в настоящее время я передаю их так:

  redirect_to "/yyy?mobile=#{params[:mobile]}&content=#{params[:content]}"

Несмотря на это,кажется, это проблема кодирования.Пробелы обозначаются как «% 20», а не «+» для одного, а также кажутся грязными.

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

Вы можете использовать метод url_encode , пример:

redirect_to url_encode("/yyy?mobile=#{params[:mobile]}&content=#{params[:content]}")

Или просто использовать redirect_to с параметрами:

redirect_to :action => 'toto', :param_1 => 'titi', :param_2 => 'tata'
0 голосов
/ 15 сентября 2011

Как я уже говорил в комментарии, создание таких маршрутов - плохая практика в рельсах.

Поэтому вы должны установить маршрут в rout.rb, а затем использовать маршрут как:

redirect_to yyy_path(:mobile => params[:mobile], :content => params[:content])

дляза дополнительной информацией следите http://guides.rubyonrails.org/routing.html

...