Как лучше всего передать доменное имя вашего сервера rails для рассылки? - PullRequest
4 голосов
/ 17 июня 2009

У меня есть приложение, которое работает в нескольких средах, т. Е. (Разработка, постановка, бета-версия, прямая трансляция)

Как лучше всего передать доменное имя приложения при отправке почты, чтобы разрешить разные доменные имена в зависимости от сервера?

Моя первая мысль - добавить что-то в соответствующие файлы environment.rb для каждого, так что config/environments/beta.rb будет содержать

ActionMailer::Base.smtp_settings[:domain] = 'beta.domain.com'

А config/environments/staging.rb будет содержать

ActionMailer::Base.smtp_settings[:domain] = 'staging.domain.com'

Такое ощущение, что я делаю что-то настолько простое, что в Rails уже есть это значение, но я не нашел его ни в одном месте, которое я обычно ожидал, и не могу найти его в документации. 1013 *

Какой лучший подход здесь?

Ответы [ 2 ]

4 голосов
/ 17 июня 2009

Обычно я просто передаю значение request.host в метод ActionMailer.

1 голос
/ 17 июня 2009

В ваших файлах среды вы хотите установить:

ActionMailer::Base.default_url_options = { :host => "beta.domain.com" }

Если вы используете url_for вместо именованных маршрутов, вам также нужно указать: only_path => false ..., чтобы вы не получили относительные URL. Однако я обычно пытаюсь использовать именованные маршруты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...