Je précise les default_url_options dans mes environnements/test.rb avecdefault_url_options de concombre [: hôte] chaque fois que "www.example.com", même si cela est spécifié dans environtemnts/test.rb
config.action_mailer.default_url_options = { :host => "www.xyu.at" }
Ceci est tout à fait correct et dans mon histoire de concombre, où je teste l'enregistrement des utilisateurs, le lien d'activation utilisateur est généré droit
invitation_activation_url(1)
=> "www.xyu.at/signup/1231hj23jh23"
Mais lorsque je tente de suivre le lien fourni dans l'e-mail avec le code suivant dans les caractéristiques/étapes/user_steps. rb (en utilisant email-rspec de http://github.com/bmabey/email-spec/tree/master):
When /^I follow the invitation link$/ do
When 'I follow "'+invitation_activation_url(1) + '" in the email'
end
Ici, l'URL est créée avec la valeur par défaut hôte:
invitation_activation_url(1)
=> "www.example.com/signup/1231hj23jh23"
Quelqu'un peut-il me aider? Je ne comprends pas ce que je fais mal ....
Merci!
EDIT:
Il semble voir avec la méthode
current_url
, mais je ne sais pas d'où il vient ..?
EDIT:
Et je le bon environnement spécifié dans mes traits/support/env.rb
ENV["RAILS_ENV"] ||= "test"
EDIT:
Ma solution temporaire est, ce edbond dit,
invitation_activation_url(1, :host => "www.xyz.at")
=> "www.xyz.at/signup/1231hj23jh23"
mais je ne veux pas nommer le domaine explicite de cette façon (i spécifié déjà dans mon environnement/fichier test.rb - de cette façon ce ne serait pas sec)
Oui, thats ma solution temporaire. Mais je ne veux pas nommer explicitement le domaine de cette façon (-> la duplication, comme je l'ai déjà configuré environnements/test.rb!) – Lichtamberg
Comme le dit Lichtamberg, ceci est une solution de contournement unique si vous avez besoin d'un seul appel à un route helper pour travailler. Mais ce n'est pas une solution générale, et serait une pratique lourde et mauvaise pour essayer de l'implémenter pour une application de toute complexité. – Raphael