我在rails中使用devise进行用户身份验证。如何记录设计发送的电子邮件。我有一个存储电子邮件的模型。如何挂钩以便在设计发送电子邮件以进行新注册,更改密码,忘记密码等之前,我可以将电子邮件存储在数据库中?
答案 0 :(得分:2)
创建一个名为config/initializers/devise_mail_logger.rb
的文件,然后重新打开Devise :: Mailer类
<强> devise_mail_logger.rb:强>
Devise::Mailer.class_eval do
def devise_mail_with_logger(record, action)
email = devise_mail_without_logger(record, action)
#code to log this email to DB goes here
end
alias_method_chain :devise_mail, :logger
end
email
对象将包含邮件正文,主题,收件人详细信息。您可以将此对象传递给您必须存储电子邮件的模型。