Question

J'ai une balayeuse qui réchauffe le cache en ouvrant des URL dans des processus fourchus.Il est suffisamment facile de coder l'hôte de ces URL, mais je veux que cela change de manière dynamique, sur la base de l'environnement.

Je sais que je peux définir des variables globales / environnementales pour cela, mais j'aimerais vraiment utiliser des itinéraires nommés.Y a-t-il un moyen de faire cela?

(Je devrais clarifier que j'ai essayé simplement de mettre les itinéraires nommés là-bas, mais ils ne résolvent pas au moment de l'exécution.)

Était-ce utile?

La solution

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

Autres conseils

I fixed this in the current Rails 3.2 beta:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top