Перед фильтром в действии mailer Rails 3
то, что мне нужно:
Что-то похожее на before_filter в ActionMailer в Rails 3.
Проблема:
Я работаю на Rails 3 и хочу иметь before_filter в ActionMailer. Проверил apiactionmailer и узнал о обратных вызовах before_action и after_action. При реализации он выдает ошибку:
NoMethodError: undefined method `before_action' for Notifier:Class
Позже узнал, что нет перед вызовом действия для Rails 3 от этого post
Нет ли какого-нибудь крючка или драгоценного камня, чтобы у нас было что-то похожее на before_filter в Rails 3.
Пожалуйста, помогите. Большое Спасибо!!
1 ответ:
Это может быть достигнуто путем включения AbstractController:: Callbacks. Это имитирует изменение в Rails 4, которое, кроме комментариев и тестов, просто включало обратные вызовы.
class MyMailer < ActionMailer::Base include AbstractController::Callbacks after_filter :check_email def some_mail_action(user) @user = user ... end private def check_email if @user.email.nil? message.perform_deliveries = false end true end end