Динамический корневой путь - PullRequest
2 голосов
/ 28 апреля 2011

Как я могу использовать динамический корневой маршрут, если он зависит от ... погоды, текущего времени или чего-то еще?

Я думал о двух способах: уровне ApplicationController и перенаправлении Rack.

  • При первом решении я проверю свое динамическое состояние и перенаправлю на конкретную страницу.
  • Второе решение немного более нативное, поскольку оно использует уровень маршрутов

Например

root :to => proc { |env| [ 302, {'Location'=> some_code }, [] ] }

Но я надеюсь увидеть, как я могу использовать простую лямбду для опции маршрута, например:

root :to => "mycontroller#myaction", :some_param => proc{ DateTime.now.hour }

Это не работает, но показывает мои ожидания

1 Ответ

1 голос
/ 28 апреля 2011

Я не уверен, почему вам нужно инициализировать параметр в таблице маршрутизации, когда то же самое можно сделать в контроллере:

params[:some_param] = DateTime.now.hour

Вы также можете выполнить перенаправление внутри контроллерапо необходимости, вместо того, чтобы так сильно опираться на таблицу маршрутизации, используя метод redirect_to.

...