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へのヒント。