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.)

Foi útil?

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:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top