default_url_optionsを使用するように設定しますaction_mailer.default_url_options。
各環境ファイル(、など)development.rbでproduction.rb、default_url_options使用するを指定できますaction_mailer。
config.action_mailer.default_url_options = { host: 'lvh.me', port: '3000' }
ただし、これらは以下に対して設定されていませんMyApp:Application.default_url_options。
$ MyApp::Application.config.action_mailer.default_url_options
#=> {:host=>"lvh.me", :port=>"3000"}
$ MyApp::Application.default_url_options
#=> {}
そのため、以外の場所でエラーが発生していますActionMailer。
あなたは、あなたのアプリケーションの設定することができますdefault_url_optionsあなたのために定義されたものを使用してaction_mailer、適切な環境ファイル(中development.rb、production.rbなど)。
できる限り乾燥した状態に保つには、config/environment.rbファイルでこれを実行します。これを行う必要があるのは1回だけです。
# Initialize the rails application
MyApp::Application.initialize!
# Set the default host and port to be the same as Action Mailer.
MyApp::Application.default_url_options = MyApp::Application.config.action_mailer.default_url_options
アプリを起動すると、アプリケーション全体が次のものdefault_url_optionsと一致しますaction_mailer.default_url_options。
$ MyApp::Application.config.action_mailer.default_url_options
#=> {:host=>"lvh.me", :port=>"3000"}
$ MyApp::Application.default_url_options
#=> {:host=>"lvh.me", :port=>"3000"}
この道を私を導いてくれた@pduerstelerへのヒント。