Динамическое доменное имя в 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, чтобы сделать это за вас.