ruby-on-rails - 是否有可能知道使用 ruby​​ on rails 中的观察器到底发生了什么变化?

标签 ruby-on-rails activerecord observer-pattern

我需要在产品价格发生变化时发送电子邮件提醒。 是否可以使用 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/

相关文章:

android - 如何一个接一个地合并两个实时数据?

ruby-on-rails - 设计:Recaptcha 不起作用

ruby-on-rails - 一元多对多关系的 Rails 外键列名称约定

ruby-on-rails - 如何在Rails迁移中将其他列的值复制为新列的默认值?

ruby-on-rails-3 - 如何创建邮件观察者

C#:事件还是观察者接口(interface)?优点缺点?

javascript - 在没有嵌套属性的情况下在 rails 中动态添加字段

ruby-on-rails - 完全转义多行 erb 段

ruby-on-rails - 带有设计的用户个人资料页面 - 显示操作的路由

sql - Rails 3.2 ActiveRecord SQL 语法错误