【问题标题】:How to get the mailer method after a message is sent in ActionMailer 3.2.11?ActionMailer 3.2.11发送消息后如何获取mailer方法?
【发布时间】:2013-09-17 06:07:08
【问题描述】:

我正在尝试记录我们系统发出的所有电子邮件。我使用此博客在 ActionMailer::Base 中设置了一个回调以供参考:http://www.javier-julio.com/2013/03/29/using-callbacks-in-rails-3-actionmailer

我正在尝试保存记录所使用的 actionmailer 对象和消息传递后调用的方法的记录。我可以访问mailmessageobjects。

include AbstractController::Callbacks

after_filter :log_email

def log_email
  klass = ActiveSupport::Inflector.underscore(self.class.name)
  SystemEmail.create(user: User.find_by_email(message.to), key: "#{klass}.#{message.template_name}" )
end

template_name 但是从 Rails3 开始并没有公开,我还没有找到一种方法来访问正在调用的邮件程序方法。如何找到已调用的邮件程序操作?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 actionmailer


    【解决方案1】:

    你可以使用action_name,所以你的方法是:

    def log_email
      klass = ActiveSupport::Inflector.underscore(self.class.name)
      SystemEmail.create(user: User.find_by_email(message.to), key: "#{klass}.#{action_name}" )
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多