Как я могу получить доступ к именованным маршрутам на рельсы Sweeper?
-
16-11-2019 - |
Вопрос
У меня есть подметатель, который разогревает кэш, открывая URL в раздвоенных процессах.Это достаточно легко для жесткого кода Host для этих URL-адресов, но я хочу, чтобы он был динамически изменен, на основе окружающей среды.
Я знаю, что я могу установить для этого глобальные / экологические переменные, но мне действительно нравится использовать именованные маршруты.Есть ли способ сделать это?
(я должен уточнить, что я пытался просто поместить именованные маршруты там, но они не решают во время выполнения.)
Решение
The closest I found is:
Rails.application.routes.named_routes.get(:user).defaults
Which retrieves:
{:action=>"show", :controller=>"users"}
But you should merge it with your params:
Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})
Result:
{:action=>"show", :controller=>"users", :id=>1}
Edit:
Simply add
include Rails.application.routes.url_helpers
to your class
Другие советы
I fixed this in the current Rails 3.2 beta:
Не связан с StackOverflow