Rails 3 Observer——希望学习如何为多个模型实现观察者

发布于 2024-09-25 15:12:47 字数 190 浏览 1 评论 0原文

我想添加一个 Auditor Observer,它可以在创建 3 个模型(书籍、角色、作者)后随时执行操作...

我最近听说了 Observer 功能,但找不到有关该功能的任何文档。 Rails 3 支持吗?

如何创建一个 Auditor Observer 来为 3 个模型执行 after_create 操作?

谢谢

I'd like to add an Auditor Observer which does an action anytime after_create for 3 models (books, characters, authors)...

I recently heard of the Observer capability but can't find any documentation on the ability. Is it support in Rails 3?

How do I create an Auditor Observer that does something after_create for 3 models?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一紙繁鸢 2024-10-02 15:12:47

Rails 观察者很贴心,你可以观察多个单个观察者中的模型

首先,您需要生成观察者:

rails g observer Auditor

然后,在新的auditor_observer.rb文件中定义您想要观察的模型,然后添加after_create 回调。

 class AuditorObserver < ActiveRecord::Observer
   observe :model_foo, :model_bar, :model_baz

   def after_create(record)
    #do something with `record`
   end
 end 

在 application.rb 添加

config.active_record.observers = :auditor_observer

它应该可以工作。

Rails observers are sweet, You can observe multiple models within a single observer

First, you need to generate your observer:

rails g observer Auditor

Then, in your fresh auditor_observer.rb file define the models you wish to observe and then add the after_create callback.

 class AuditorObserver < ActiveRecord::Observer
   observe :model_foo, :model_bar, :model_baz

   def after_create(record)
    #do something with `record`
   end
 end 

In application.rb add

config.active_record.observers = :auditor_observer

And It should work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文