什么是在子类中覆盖Rails ActiveRecord创建/删除事件的正确方法,例如after_create

时间:2010-05-26 19:26:47

标签: ruby-on-rails ruby events activerecord override

我有一个类层次结构如下:

class A < ActiveRecord::Base
  after_create { |i|
    #do something
  }
end

class B < A
  after_create { |i|
    #do something else after what A did
  }
end

我希望在调用after_create时在B中执行A的行为,但我不确定在B中编写after_create方法的正确方法。

2 个答案:

答案 0 :(得分:1)

您可以使用“super”调用方法的超类版本,如下所示:

class B < A
  def after_create
    super
    #now do something else after what A did
  end
end

答案 1 :(得分:1)

将按顺序调用您定义的每个回调。您没有任何特殊要做以获得您想要的行为。您使用的语法是正确的。