Я указал default_url_options в моей среде / test.rb с
config.action_mailer.default_url_options = { :host => "www.xyu.at" }
Это вполне нормально, и в моей истории с огурцами, где я тестирую регистрацию пользователей,
ссылка для активации пользователя генерируется правильно
invitation_activation_url(1)
=> "www.xyu.at/signup/1231hj23jh23"
Но когда я пытаюсь перейти по ссылке, указанной в электронном письме, со следующим кодом в functions / steps / user_steps.rb (используя email-rspec от 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
Здесь URL создается с хостом по умолчанию:
invitation_activation_url(1)
=> "www.example.com/signup/1231hj23jh23"
Кто-нибудь может мне помочь? Я не понимаю, что я делаю неправильно ....
Спасибо!
EDIT:
Это похоже на метод
current_url
но я не знаю откуда это ..?
EDIT:
И у меня есть правильная среда, указанная в моих функциях / support / env.rb
ENV["RAILS_ENV"] ||= "test"
EDIT:
Мое временное решение, как сказал Эдбонд,
invitation_activation_url(1, :host => "www.xyz.at")
=> "www.xyz.at/signup/1231hj23jh23"
но я не хочу называть домен явным образом
(я указал это уже в моем файле environment / test.rb - таким образом, он не будет сухим)