Como posso acessar rotas nomeadas em um sweeper de trilhos?
-
16-11-2019 - |
Pergunta
Eu tenho uma varredura que reaquece o cache abrindo URLs em processos bifurcados.É fácil o suficiente para codificar o anfitrião para esses URLs, mas quero que ele mude dinamicamente, com base no ambiente.
Eu sei que posso definir variáveis globais / ambientais para isso, mas eu realmente gostaria de usar rotas nomeadas.Existe alguma maneira de fazer isso?
(Eu deveria esclarecer que tentei apenas colocar as rotas nomeadas lá, mas eles não resolvem no tempo de execução.)
Solução
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
Outras dicas
I fixed this in the current Rails 3.2 beta:
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow