Параметры URL по умолчанию для rails config mailer не действуют (среда разработки) - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю над настройкой URL, появляющегося в почтовой программе, созданной с помощью,

<%= controller_url %>

но когда я меняю значение по умолчанию с помощью следующей команды

config.action_mailer.default_url_options = { :host => "example.com", :protocol => 'https', :subdomain => "www"}

URL остается неизменным как

http://localhost:8000/controller

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

EDIT: Кажется, мне нужно было перезагрузить сервер после внесения изменений.

1 Ответ

0 голосов
/ 02 ноября 2018

Я не знаю, как вы пытаетесь, но я могу показать свои файлы, чтобы сравнить с вашими.

Итак, мой файл разработки /config/environments/development.rb

config.consider_all_requests_local = true
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

и мой рабочий файл /config/environments/production.rb

config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => "https://example.com" } #=> Or https://www.example.com
config.action_mailer.perform_deliveries = true

ActionMailer::Base.smtp_settings = {
    :user_name => ENV['USERNAME'],
    :password => ENV['PASSWORD'],
    :domain => 'example.com',
    :address => 'smtp.example.net',
    :port => 321,
    :authentication => :plain,
    :enable_starttls_auto => true
}
config.action_mailer.delivery_method = :smtp

и работает отлично.

Запомните это:

  • Файл разработки работает только тогда, когда проект находится в режиме разработки
  • Рабочий файл работает только тогда, когда проект находится в рабочем режиме
  • И убедитесь, что вы перезапустили сервер после изменения каких-либо параметров, связанных с конфигурацией

Вы можете проверить журналы при отправке почты, что происходит, и для производственного запуска следуйте этой команде rails server -e production

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