Rails - класс UserMailer <ActionMailer :: Base - PullRequest
0 голосов
/ 27 ноября 2010

У меня в настоящий момент есть настройки почты моего приложения следующим образом:

Шаг 1. Наблюдатели следят за таблицами и отправляют электронные письма при запуске after_save в наблюдателе

Шаг 2. Затем обозреватель вызываетчто-то вроде: UserMailer.XXXXXX_created_notification(record).deliver

Шаг 3: Почтовый ящик пользователя отправляет почту:

  def XXXXXX_created_notification(record)
    @record = record
    mail(:to => "#{record.email}", :reply_to => "Reply to XXXXX", :subject => "XXXXX Notification")
  end

Мой вопрос к экспертам Rails: я хочу предоставить пользователям возможность включить/ отключение определенных уведомлений для всего сайта.Где лучшее место в Rails, чтобы испечь это?В файле user_mailer.rb, обернутом внутри определения выше?Или в наблюдателе?

Предложения?

Спасибо

1 Ответ

0 голосов
/ 27 ноября 2010

Если бы мне пришлось выбирать, я бы пошел с наблюдателем, однако - большинство людей, с которыми я работал, предложили бы перенести эту логику в контроллер. Может быть несколько случаев, когда вы не хотите запускать электронные письма на основании наблюдаемого поведения - возможно, вы используете эти модели в контексте администратора или работаете с моделями через консоль и т. Д.

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