Rails::Engine使我们可以将一个完整的Rails应用打包,并在不同的应用中使用。在Rails 3中,每一个Rails::Application都是一个Engine,这使得我们可以非常容易的实现将我们的应用模块化。如何开发Rails::Engine已经有许多现有的开发教程,下面几个地址可以为我们开发Engine提供帮助:
ActiveRecord::Observer顾名思义,是采用的观察者模式进行设计。它对ActiveRecord模型的callbacks做出响应,就好像触发器一样。这样使得我们可以将一些不应在模型中存在的行为移出模型类,为它安置恰当的位置。例如我们可能需要在用户注册成功后发送邮件到用户的邮箱这样的行为。
在Rails Engine中实现Observer,包括一下两个步骤:
?
在你的项目中创建app/observers目录,用于保存observers。如果你希望将你的observers定义在自己的module中,你也可以修改你的目录为app/observers/{module_name},来存放observers。
1
class
?ContactObserver < ActiveRecord::Observer