tôi đã chỉ định các default_url_options trong môi trường của tôi/test.rb vớidefault_url_options Dưa chuột [: host] mọi "www.example.com" ngay cả khi quy định tại environtemnts/test.rb
config.action_mailer.default_url_options = { :host => "www.xyu.at" }
này khá ok và trong câu chuyện dưa chuột của tôi, nơi tôi kiểm tra đăng ký của người sử dụng, liên kết với người sử dụng kích hoạt được tạo ra ngay
invitation_activation_url(1)
=> "www.xyu.at/signup/1231hj23jh23"
Nhưng khi tôi cố gắng làm theo các liên kết được cung cấp trong email với mã sau đây trong các tính năng/bước/user_steps. rb (sử dụng email-rspec từ 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
Đây url được tạo ra với mặc định-host:
invitation_activation_url(1)
=> "www.example.com/signup/1231hj23jh23"
Ai có thể giúp tôi? Tôi không hiểu những gì tôi đang làm sai ....
Cảm ơn!
EDIT:
Có vẻ như để làm với phương pháp
current_url
nhưng tôi không biết nó đến từ đâu ..?
EDIT:
Và tôi có môi trường phù hợp quy định tại các tính năng của tôi/support/env.rb
ENV["RAILS_ENV"] ||= "test"
EDIT:
giải pháp tạm thời của tôi là, những gì edbond đã nói,
invitation_activation_url(1, :host => "www.xyz.at")
=> "www.xyz.at/signup/1231hj23jh23"
nhưng tôi không muốn đặt tên miền rõ ràng theo cách này (tôi đã chỉ định trong môi trường của tôi/tệp test.rb - theo cách đó sẽ không bị khô)
Có, đó là giải pháp tạm thời của tôi. Nhưng tôi không muốn đặt tên miền rõ ràng theo cách này (-> trùng lặp, khi tôi đã định cấu hình môi trường/test.rb trước đó!) – Lichtamberg
Như Lichtamberg nói, đây là giải pháp một lần nếu bạn cần một cuộc gọi đến một trợ giúp tuyến đường để hoạt động. Nhưng đây không phải là một giải pháp chung, và sẽ là thực hành cồng kềnh và xấu để cố gắng thực hiện nó cho một ứng dụng của bất kỳ phức tạp. – Raphael