我需要在产品价格发生变化时发送电子邮件提醒。
是否可以使用 ActiveRecord::Observer
执行此操作,或者我是否需要在编辑表单中使用编程逻辑?
最佳答案
您可以使用 Dirty Objects为了实现这一点,在这种特定情况下,您的观察者中将有类似的东西。
FooMailer.deliver_alert(foo) if foo.price_changed?
根据:“一旦您保存了一个脏对象,它就会清除其更改状态跟踪并再次被视为未更改”您应该在 prince_changed?
之前请求保存
操作完成。
希望对你有帮助。
关于ruby-on-rails - 是否有可能知道使用 ruby on rails 中的观察器到底发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3300970/