gpt4 book ai didi

ruby-on-rails-3.1 - After_update 钩子(Hook)与 :if syntax

转载 作者:行者123 更新时间:2023-12-04 05:55:22 25 4
gpt4 key购买 nike

我希望拥有我的 after_update只有在 status_was 时才会触发钩子(Hook)我的对象的值是两个值之一:

after_update :set_activity_log, :if => :status_was == 'In' or :status_was == 'Out'

我可以让它与 #status_changed? 一起工作但是它仍然会触发所有其他可能的状态更改,并且无论如何我都被迫添加逻辑以检查回调方法中的 In 或 Out。

我觉得这应该可以在 Hook 定义中实现,而不是在 set_activity_log 中实现。方法。

最佳答案

Per the documentation您可以将 Proc 传递给 ActiveRecord 回调:

after_update :set_activity_log,
:if => proc {|obj| obj.status_was == 'In' || obj.status_was == 'Out' }

关于ruby-on-rails-3.1 - After_update 钩子(Hook)与 :if syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572237/

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