繁体   English   中英

是否有可能知道使用轨道上的红宝石观察者究竟发生了什么变化?

[英]Is it possible to know what exactly changed using an observer in ruby on rails?

我需要在产品价格发生变化时发送电子邮件提醒。 是否可以使用ActiveRecord::Observer执行此操作,还是需要在编辑表单中使用编程逻辑?

您可以使用Dirty Objects来实现这一点,在这种特定情况下,您将在观察者中使用这样的东西。

FooMailer.deliver_alert(foo) if foo.price_changed?

根据:“ 一旦你保存了一个脏对象,它就会清除它改变的状态跟踪并再次被认为是不变的 ”你应该要求prince_changed? save操作完成之前。

希望它能帮到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM