Как я могу получить доступ к именованным маршрутам в Rails Sweeper? - PullRequest
2 голосов
/ 20 мая 2011

У меня есть уборщик, который разогревает кеш, открывая ссылки в разветвленных процессах.Достаточно легко жестко запрограммировать хост для этих URL-адресов, но я хочу, чтобы он динамически изменялся в зависимости от среды.

Я знаю, что могу установить для этого глобальные переменные / переменные среды, но мне бы очень хотелосьиспользовать именованные маршруты.Есть ли способ сделать это?

(Я должен уточнить, что я пытался просто поместить туда именованные маршруты, но они не разрешаются во время выполнения.)

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Ближайшее, что я нашел:

Rails.application.routes.named_routes.get(:user).defaults

Который извлекает:

{:action=>"show", :controller=>"users"}

Но вы должны объединить его со своими параметрами:

Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})

Результат:

{:action=>"show", :controller=>"users", :id=>1}

Edit:

Просто добавьте

include Rails.application.routes.url_helpers 

в ваш класс

0 голосов
/ 08 декабря 2011

Я исправил это в текущей бета-версии Rails 3.2:

https://github.com/rails/rails/pull/3876

...