Tôi đã đặt đoạn mã sau vào tập tin config/environments/test.rb
tôi:default_url_options Thiết trong môi trường thử nghiệm dường như không làm việc
config.action_mailer.default_url_options = { :host => "localhost:3000" }
tuy nhiên khi tôi chạy thử nghiệm của tôi, tất cả các tuyến sử dụng http://test.host
. Tôi đang cố gắng để làm việc với một API mà sẽ không chấp nhận http://test.host
như một URI gọi lại hợp lệ, vì vậy tôi cần phải thay đổi điều này để nhận được phản hồi API đúng cách. Bất kỳ ý tưởng tại sao điều này không hoạt động? (Tôi đang sử dụng RSpec, Guard và Spork trong bộ thử nghiệm của mình).
EDIT: Có thể có liên quan - điều này đang được thực hiện bên trong thông số bộ điều khiển.
EDIT2: Dường như nó thay đổi sau một yêu cầu được thực hiện thông qua get
, post
vv Chạy đoạn mã sau trong bài kiểm tra:
Rails.logger.debug users_url
get 'http://google.com'
Rails.logger.debug users_url
sẽ cho kết quả sau:
http://localhost:3000/users
...get request related response here
http://google.com/users
Xác nhận làm việc trong Rails 3.0 – parhamr
Chấp nhận dựa trên nhận xét của @ parhamr. – Nick