Ruby on rails 在Rails中的不同自定义回调之后,是否有简单的方法触发相同的实例方法?

Ruby on rails 在Rails中的不同自定义回调之后,是否有简单的方法触发相同的实例方法?,ruby-on-rails,activerecord,callback,rails-models,Ruby On Rails,Activerecord,Callback,Rails Models,考虑我的模型如下: class SampleProject < ActiveRecord::Base #consider all these callbacks to be custom defined ones #I'm using default callbacks just to explain my problem after_save :simple_testing after_update :simple_testing before

考虑我的模型如下:

class SampleProject < ActiveRecord::Base

    #consider all these callbacks to be custom defined ones
    #I'm using default callbacks just to explain my problem

    after_save :simple_testing
    after_update :simple_testing
    before_save :simple_testing
    before_create :simple_testing
    after_commit :simple_testing

    def simple_testing
       #my custom code
    end

end
class SampleProject

所以在这里,在所有回调之后都会调用相同的方法。那么,有没有简单的方法来定义所有这些回调都应该调用简单的测试方法呢?

我不明白您为什么要这样做,但请记住,您可以在类定义的任何地方使用Ruby代码

callbacks = [:after_save, :after_update, :before_save, :before_create, after_commit]
callbacks.each do |callback|
  self.send(callback, :simple_testing)
end

我没有尝试过这个,但我认为它应该会起作用。

simple\u testing
在创建SampleProject记录时会被调用三次-这就是你想要的吗?不是这样的。实际上,simple_测试是在我的自定义回调方法中调用的,而不是在默认回调方法中调用的。我知道我在这里写的示例代码是荒谬的,但这仅仅是为了给出想法@MaxWilliams谢谢你的时间和回答。不客气。一般来说,我发现最好使用实际的代码:当你把它“翻译”成“示例”代码时,你很容易混淆。@MaxWilliams指出。下一次我会尽量听从你的建议。