Динамическое доменное имя в Rails action mailer при использовании 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.

Рельсы - 3.2.8, Ruby - 1.9.3, sidekiq - 2.13.1

Спасибо!!!

2 ответа

Решение

Один из вариантов - связать каждого пользователя с доменом и использовать эту информацию при отправке электронного письма в sidekiq.

Вам нужно будет создать URL-адрес самостоятельно, а не полагаться на AM, чтобы сделать это за вас.

Другие вопросы по тегам