如何在config / environments / production.rb中动态设置主机:
config.action_mailer.default_url_options = { :host => THE_HOST}
这是应用程序在暂存和生产时正常工作。我们的登台服务器是stage.app.com,链接需要去那里。
答案 0 :(得分:5)
在config/environments/production.rb
执行此操作:
config.action_mailer.default_url_options = { :host => 'app.com' }
并在config/environments/staging.rb
执行此操作:
config.action_mailer.default_url_options = { :host => 'stage.app.com' }
正如@BrettBender所评论的那样:
您无需动态设置主机。对于生产中的应用程序,将评估production.rb。对于在登台环境中运行的应用程序,rails将自动加载登台文件(与开发或您定义的任何自定义环境相同)
答案 1 :(得分:-1)
将它添加到application_controller中的before过滤器:
ActionMailer::Base.default_url_options = {:host => request.host_with_port}