在rails observer

时间:2015-09-01 07:59:10

标签: ruby-on-rails ruby observers

所以,我在我的应用程序中使用'state_machine'gem来使Lead模型成为状态机。我在LeadObserver中为转换写了很多自定义方法,如下所示。

class LeadObserver < ActiveRecord::Observer
  def after_review
  end

  def after_convert
  end

  def after_mark_invalid
  end
end

大约有15种这样的方法。

现在,我有一个类方法,比如Seller.do_something,必须在所有这15个方法的末尾调用。是否有一种优雅的Rails方法可以在控制器的Seller.do_something等每个方法的末尾调用此after_filter方法。谢谢。 :)

1 个答案:

答案 0 :(得分:1)

我认为你可以,但它的使用并不好。

ActiveModell::Callbacks正是您要找的。

http://api.rubyonrails.org/classes/ActiveModel/Callbacks.html

state_machine本身确实提供了after_transition - 也许这有助于你?