如何在Rails Engine中实现Observer_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 如何在Rails Engine中实现Observer

如何在Rails Engine中实现Observer

 2010/12/30 8:05:58  非飞  http://towerhe.javaeye.com  我要评论(0)
  • 摘要:Rails::Engine使我们可以将一个完整的Rails应用打包,并在不同的应用中使用。在Rails3中,每一个Rails::Application都是一个Engine,这使得我们可以非常容易的实现将我们的应用模块化。如何开发Rails::Engine已经有许多现有的开发教程,下面几个地址可以为我们开发Engine提供帮助:Rails:
  • 标签:Server 实现 rails

Rails::Engine使我们可以将一个完整的Rails应用打包,并在不同的应用中使用。在Rails 3中,每一个Rails::Application都是一个Engine,这使得我们可以非常容易的实现将我们的应用模块化。如何开发Rails::Engine已经有许多现有的开发教程,下面几个地址可以为我们开发Engine提供帮助:

  • Rails::Engine API
  • Rails 3 Plugins – Part 1 – The Big Picture
  • Rails 3 Plugins – Part 2 – Writing an Engine
  • Rails 3 Plugins – Part 3 – Rake Tasks, Generators, Initializers, Oh-My!
  • Rails 3 Plugins – Part 4 – More on Generators

ActiveRecord::Observer

ActiveRecord::Observer顾名思义,是采用的观察者模式进行设计。它对ActiveRecord模型的callbacks做出响应,就好像触发器一样。这样使得我们可以将一些不应在模型中存在的行为移出模型类,为它安置恰当的位置。例如我们可能需要在用户注册成功后发送邮件到用户的邮箱这样的行为。
在Rails Engine中实现Observer,包括一下两个步骤:

  • 定义Observer

    ?

    在你的项目中创建app/observers目录,用于保存observers。如果你希望将你的observers定义在自己的module中,你也可以修改你的目录为app/observers/{module_name},来存放observers。

    1 class?ContactObserver < ActiveRecord::Observer
  • 发表评论
    用户名: 匿名