LINUX.ORG.RU

rails routes переменные

 


0

1

Можно ли в роутинге рельсов использовать переменные переданные методами гет или пост?
или как решить следующую задачу:
если человек заходит по адресу /index?test=ololo должен запускаться main#test1
если заходит на /index?test=qwer должен запускаться main#test2
?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)

кривовато выглядит. сделай нормальные урлы или (что проще) кидай все на MainController#test, а там уже через фильтр запускай test1/test2

kelyar ★★★★★
()
Последнее исправление: kelyar (всего исправлений: 1)

Кто должен запускаться? Хендлер URI main#test1? Или должен быть редирект на него? Тогда кто мешает в контроллере сделать редирект туда например? Ну или на веб-сервере сделай rewrite.

Hater ★★
()

Переменные на то и переменные что их значения могут быть любыми. Да и их число может быть произвольным. Потому правильно о них будет позаботиться на уровне контроллера.

Hater ★★
()

Зачем роуты и разные экшены?

def index
  test = params[:test] 
end

localhost:9000/?test=chunky_bacon

[1] pry(#<TasksController>)> params[:test]
=> "chunky_bacon"
ksevelyar
()
Ответ на: комментарий от Hater

Кто должен запускаться?

методы класса

TDrive ★★★★★
() автор топика
Ответ на: комментарий от ksevelyar

Зачем роуты и разные экшены?

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

TDrive ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Какие некошерные URL'ы. А может не надо?

К сожалению на эту часть я по странному стечению обстоятельств повлиять не могу.

TDrive ★★★★★
() автор топика

Отправляй всех на один экшн, в котором уже распарсишь params и-сделаешь нужное действие.

blackst0ne ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.