Nic*_*s.V 4 actionmailer ruby-on-rails-4
当rails 4应用程序托管在子域上时,例如sub.domain.com,如何在Action Mailer模板中获取URL以正确链接到子域?
配置/环境/ production.rb:
config.action_mailer.default_url_options = { :host => 'sub.domain.com' }
Run Code Online (Sandbox Code Playgroud)
动作邮件模板链接示例:
<%= user_url(@user) %>
Run Code Online (Sandbox Code Playgroud)
在电子邮件中,链接显示为www.domain.com/users/1而不是sub.domain.com/users/1
这实际上很容易.我解决这个问题的最好建议是你创建一个before_filter,它在ApplicationController.rb中的每个请求上设置它,如下所示:
before_filter :set_mailer_host
def set_mailer_host
ActionMailer::Base.default_url_options[:host] = request.host_with_port
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3505 次 |
| 最近记录: |