gpt4 book ai didi

ruby-on-rails-3 - 如何创建邮件观察者

转载 作者:行者123 更新时间:2023-12-03 07:47:31 25 4
gpt4 key购买 nike

每当在我的应用上发送电子邮件时,我都想运行一些代码。

由于 ActionMailer 不支持 after_filter,我想使用观察者。

Rails 文档顺便提到了这一点,但没有详细说明。

谢谢!

最佳答案

我很惊讶 Rails 的文档中对此的描述如此之少。

基本上,Rails 3 中的 ActionMailer 引入了拦截器(在消息发送之前调用)和观察者(在消息发送之后调用)的使用。

要设置观察者,请将以下内容添加到初始值设定项:

class MailObserver
def self.delivered_email(message)
# Do whatever you want with the message in here
end
end

ActionMailer::Base.register_observer(MailObserver)

现在,delivered_email 方法将在您的应用每次发送电子邮件时运行。但是,您只能访问实际的Mail 消息。

要注册拦截器,请执行与上面相同的操作,将 register_observer 替换为 register_interceptor,并将方法从 self.delivered_email 重命名为self.delivering_email

This Railscast是我能找到的有关这方面信息的最佳来源(他们只谈论拦截器,但对于观察者来说概念是相同的)。

关于ruby-on-rails-3 - 如何创建邮件观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4850484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com