Rails ActionMailer — способ поддержки подпапок для почтовых шаблонов?

Есть ли способ иметь подпапки для шаблонов электронной почты actionmailer?

  def new_message(user)
    @user = user
    mail(:to => user.email, :subject => "You have recieved a new message!")
  end

загрузит, например, /app/mailers/new_message.text.erb. Есть ли способ сохранить почтовые шаблоны как /app/mailers/messages/new_message.text.erb?

Я пытаюсь организовать его немного больше, и мне не нравится все в 1 большом каталоге (подумайте о текстовой и html-версиях + несколько локальных версий _en, _fr, это становится одной большой кучей файлов.


person Rubytastic    schedule 01.10.2012    source источник


Ответы (1)


Я не знаю, можете ли вы на самом деле это сделать, но я уверен, что вы можете создать несколько классов ActionMailer, таких как Notifier:

class Notifier < ActionMailer::Base

И определите методы уведомлений здесь (приветственные сообщения, смена пароля, ...: автоматические сообщения)

При этом вы можете сегментировать свои «почтовые методы» по разным моделям, в зависимости от их роли.

Я знаю, что это не отвечает на вопрос, но это обходной путь;)

person MrYoshiji    schedule 01.10.2012
comment
да, но они все равно будут не в /mailer/subfolder, верно? это просто охватит их, сохраняя проблему всех файлов в 1 папке, но спасибо за предложение - person Rubytastic; 02.10.2012
comment
В конце я следовал стандартному соглашению о рельсах /app/views/mailer_something - person Rubytastic; 02.10.2012
comment
В конце концов, вы последовали вашему предложению, которое является лучшей практикой рельсов, но мне все же пришлось установить это как принятый ответ, поскольку другого пути, похоже, нет (и боевые соглашения в любом случае плохи) - person Rubytastic; 05.10.2012