为我的Rails应用程序实现Observer模式

时间:2011-06-18 12:13:49

标签: ruby ruby-on-rails-3 observer-pattern event-listener

我目前正在使用rails 3.0.7和ruby 1.9.2并制作一个rails应用程序,其中包含一个由FlowPlayer呈现时从数据库加载的视频。以及基于视频的一组幻灯片。现在,我想将幻灯片与视频同步。对于时间安排,我要求用户输入每张幻灯片的时间。所以,我想知道我是否可以通过将一个中心时间作为主题,视频和幻灯片作为观察者来使用观察者模式?

虽然这个概念在经过网上的一些教程后似乎是正确的,但是我无法继续或想出编码的想法。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

基本上,你有两个选择:

使用ActiveRecord的回调(before_save,after_save等等)或创建观察者

# app/observers/some_model_observer.rb
class SomeModelObserver < ActiveRecord::Observer
  observe :your_model # the model you're observing

  def after_create(record)
  end

  # other ActiveRecord callbacks
end