在我的要求中,单个项目有不同的域名,我希望发送带有域名的重置密码链接,用户在其中请求重置password.For,我在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上的请求提供的动态域名。
任何建议,以获得的动态域上运行的邮件将非常感谢。
Rails - 3.2.8 Ruby - 1.9.3 sidekiq - 2.13.1
谢谢!
发布于 2014-07-04 15:48:30
其中一个选项是将每个用户与一个域相关联,并在发送电子邮件时使用该信息。
发布于 2014-07-05 02:49:12
您需要自己构建url,而不是依靠AM来完成。
https://stackoverflow.com/questions/24577202
复制相似问题