我正在尝试记录我们系统发送的所有电子邮件。我使用此博客在 ActionMailer::Base 中设置了一个回调以供参考:http ://www.javier-julio.com/2013/03/29/using-callbacks-in-rails-3-actionmailer 。
我正在尝试保存记录所使用的 actionmailer 对象和消息传递后调用的方法的记录。我可以访问mail
andmessage
对象。
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
但是,从 Rails3 开始,template_name 并没有公开,而且我还没有找到一种方法来访问正在调用的邮件程序方法。如何找到已调用的邮件操作?