Как я могу получить доступ к именованным маршрутам на рельсы Sweeper?

StackOverflow https://stackoverflow.com/questions/6064764

Вопрос

У меня есть подметатель, который разогревает кэш, открывая 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:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top