爲什麼測試環境需要爲ActionMailer設置default_url_options?Rails測試環境:爲什麼它需要ActionMailer的default_url_options?
ActionView::Template::Error:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
在電子郵件設置
config.action_mailer.default_url_options = {host: 'localhost:3000'}
然後在理論上鍊接,因爲當我特別想知道:
如果我不設置它,我執行我的規格時,得到這個會導致localhost:3000,據我所知,這不是測試服務器實例運行的地方?儘管如此,使用email_spec
寶石,點擊電子郵件中的鏈接時,他們的工作,因爲創業板中刪除服務器名稱和端口,這樣的鏈接通常是這樣的:
/en/user/confirmation?confirmation_token=QZu3tw17uozhpEfuVWzF
所以一次:我需要什麼指定主機是否被email_spec
寶石去掉了?
[準備URL]時引發異常(https://github.com/rails/rails/blob/c8bd12cf5a1dc7ebdb1594334b2598d799d4a746/actionpack/lib/action_dispatch/http/url.rb#L63) – 2015-03-31 16:56:49