ActionMailer вне Rails - PullRequest
       8

ActionMailer вне Rails

0 голосов
/ 19 октября 2018

Я пытаюсь отправить письмо с помощью ActionMailer за пределами Rails и застрял в Missing template ошибке.У меня есть структура папок, подобная этой.

mailer/app/mailers/welcome_email.rb
mailer/app/views/welcome_email/welcome.html.erb
mailer/mailer.rb

У меня есть файл конфигурации, где у меня есть эта строка:

mailer / initializers / config.rb

ActionMailer::Base.view_paths = File.expand_path('../../app/views/', __FILE__)

(Я не понимаю, почему мне нужно добавить этот дополнительный «../», если честно, потому что путь «одна папка вверх», а затем «/ app / views». Если я не делаю этого, он находит'/initializers/app/views/').

File.expand_path('../../app/views/', __FILE__)

возвращает "/home/jedrek/workspace/rubysamples/mailer/app/views", что выглядит нормально.Затем ActionMailer должен найти там шаблон welcome_email/welcome.html.erb, но когда я запускаю mailer.rb, я получаю сообщение об ошибке

Missing template welcome_email/welcome
Searched in: (ActionView::MissingTemplate)
  * "/home/jedrek/workspace/rubysamples/mailer/app/views"

Почему он не находит файл в /app/views/welcome_email/welcome.html.erb?Что я делаю не так?

1 Ответ

0 голосов
/ 19 октября 2018

Переименуйте каталог welcome_email в папке views в welcome_email_mailer, и он должен работать

...