代码之家  ›  专栏  ›  技术社区  ›  John Bachir

如何删除由供应商代码插入的回调?

  •  3
  • John Bachir  · 技术社区  · 15 年前

    我使用的gem插入了一个我想删除的after\u save回调。在我看来,从数组中删除一个符号要比用monkeypatch解决问题干净得多。如何访问回调数组?

    2 回复  |  直到 15 年前
        1
  •  11
  •   w1rele55    15 年前
    class UserSession < Authlogic::Session::Base
      # Don't use cookie AuthLogic behaviour
      skip_callback :persist, :persist_by_cookie
      skip_callback :after_save, :save_cookie
      skip_callback :after_destroy, :destroy_cookie
    end
    
        2
  •  2
  •   Geoff Lanotte    15 年前

    这个 after_save Model.after_save ,它是 ActiveSupport::Callbacks::Callback 物体。你可以在模型中运行这个

    self.after_save.delete_if{|callback| callback.method == :do_something_callback}