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파일 에서이 작업을 수행하면 한 번만 수행하면됩니다.
# 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의 모자 팁 .