微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 在after_update回调中获取更改的属性

我试图做一个有条件的after_update,我有以下:
after_update do |participant|
    Rails.logger.info "#{self.prevIoUs_changes} changed."
    if self.prevIoUs_changes.include?(:current_distance)
      #Do my stuff ...
    end
  end

记录器打印空哈希:{}

如何检查哪个属性已更改?

我正在使用:participant.update_attribute(:current_distance,distance)来更新属性.

解决方法

您要使用不是prevIoUs_changes的更改.您仍然在同一个保存交易中,因此您正在寻找的是更改.在更新完成之前,prevIoUs_changes将不会有信息.

原文地址:https://www.jb51.cc/ruby/266329.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐