使用sidekiq时Rails动作邮件程序中的动态域名

时间:2014-07-04 15:13:46

标签: ruby-on-rails ruby ruby-on-rails-3 actionmailer sidekiq

在我的要求中,单个项目有不同的域名。我想发送重置密码链接,其中包含用户请求重置密码的域名。为此,我在application_controller.rb中完成了以下操作。效果很好。

before_filter :set_mailer_host   
def set_mailer_host
  ActionMailer::Base.default_url_options[:host] = request.host_with_port
  $url_host = request.host_with_port
end

后来,我将sidekiq用于延迟邮件程序,并在整个应用程序中更新如下

Notifier.delay.password_reset(user.id)

由于邮件程序配置了sidekiq,它只使用配置中提供的默认域名,并且没有使用application_controller.rb上请求提供的动态域名

任何关于在sidekiq上运行的邮件程序上获取动态域名的建议都将非常感谢。

Rails - 3.2.8 Ruby - 1.9.3 sidekiq - 2.13.1

感谢!!!

2 个答案:

答案 0 :(得分:1)

其中一个选项是将每个用户与一个域相关联,并在sidekiq中发送电子邮件时使用此信息。

答案 1 :(得分:0)

您需要自己构建网址,而不是依靠AM来为您完成。