我需要在产品价格发生变化时发送电子邮件提醒。
是否可以使用ActiveRecord::Observer
执行此操作,还是需要在编辑表单中使用编程逻辑?
答案 0 :(得分:5)
你可以使用Dirty Objects来实现这一目标,在这种特殊情况下,你的观察者会有类似的东西。
FooMailer.deliver_alert(foo) if foo.price_changed?
根据:“保存一个脏对象后,它会清除其已更改的状态跟踪,并再次被视为未更改”您应该在{{1}之前要求prince_changed?
操作完成。
希望它可以帮助你。