gpt4 book ai didi

ruby - 每当 Activerecord 的 :after_save callbacks trigger 触发回调

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:25 25 4
gpt4 key购买 nike

我有以下代码,我想在 ActiveRecord 的 on_new_annoucement 触发时触发 FooClass 的回调。我已将回调数组设为模块的类变量,但它超出了 Activerecord 的回调范围。

module FooModule
class FooClass
attr_reader :callbacks
def initialize
@@callbacks = Hash.new { |h, k| h[k] = [] }
end

def on_new_announcement(&block)
@@callbacks[:on_new_announcement] << block
end
end

class Announcement < ActiveRecord::Base
after_save :on_new_announcement
def on_new_announcement
....
end
end
end

最佳答案

随着时间的推移,使用这种方法您的代码只会变得更加困惑。

考虑使用 Wisper Gem .它实现事件监听器模式并帮助您维护干净的代码。

关于ruby - 每当 Activerecord 的 :after_save callbacks trigger 触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com