ActionMailer中的动态主机无法正常工作

时间:2016-02-03 16:53:37

标签: ruby-on-rails-4 actionmailer

我在我的rails应用程序中有动态主机,根据我发送邮件,我正在使用actionmailer,在视图中我想链接一些链接。

notification_mailer.rb

class NotificationMailer < ApplicationMailer

def new(email)
   @url = root_url
   mail(to: email, subject: 'XYZ')
end

new.html.erb

<%= link_to 'visit', @url %>

application_controller.rb

before_action :mailer_set_url_options

ActionMailer::Base.default_url_options[:host] = request.host_with_port

我提供了所需的一切,但仍然收到错误,没有找到主机。我正在打电话给sidekiq的通知邮件。

1 个答案:

答案 0 :(得分:0)

尝试在调用邮件程序操作时传递请求。

class Your_MailerClass < ActionMailer::Base
  def your_mailer_action(request)
    Your_MailerClass.default_url_options[:host] = request.host_with_port 
  end
end