Как динамически установить ActionMailer default_url_options: host на имя хоста запроса?

Я пытаюсь установить: host for action mailer по умолчанию параметры URL.

У меня есть следующие настройки во всех файлах среды

config.action_mailer.default_url_options = {
  :host => "localhost"
}

Я хочу сделать его более динамичным, предоставив хост запроса.

когда я пытаюсь установить его с помощью

config.action_mailer.default_url_options = {
  :host => request.domain
}

ИЛИ

config.action_mailer.default_url_options = {
  :host => request.env["SERVER_NAME"]
}

Выдает ошибку ... не распознает объект "запрос"

есть ли способ установить это для хоста запроса, а не путем жесткого кодирования ...?

41
задан mwallace 15 October 2015 в 12:14
поделиться

1 ответ

проблема в том, что это инициализаторы, они запускаются при загрузке стека rails, а не при вызове активного почтового модуля.

, но вам не обязательно использовать default_url, вы можете просто передать имя хоста в url_for / named routes в каждом из представлений вашей почтовой программы. По умолчанию это просто не требуется.

см. http://api.rubyonrails.org/classes/ActionMailer/Base.html раздел о генерации URL-адресов.

6
ответ дан 27 November 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: