我正在尝试根据项目的状态发送通知,但无法完全理解逻辑 - 我的代码在更新后运行:create_slack_notify_job
,但我希望:create_slack_notify_job
仅在运行之后运行特定类型的更新(当项目的状态更改为“活动”时),而不是在任何属性更新之后。我的after_update
位于下方 - 有关如何按照说明进行操作的任何想法?
after_update :create_slack_notify_job,
if: Proc.new{|project|project.status_changed? && project.status == 'Active' }
答案 0 :(得分:1)
如果你正在运行Rails 5.1+,你会想要使用方法saved_changes
和朋友。特别是,您可能需要project.saved_change_to_attribute? :status, to: 'Active'