Dan*_*npe 11 ruby activerecord ruby-on-rails
我正在尝试创建一个有条件的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
Run Code Online (Sandbox Code Playgroud)
记录器打印空哈希: {}
如何检查哪个属性已更改?
我正在使用:participant.update_attribute(:current_distance, distance)
更新属性.
Ale*_*hey 18
你想用changes
没有previous_changes
.您仍在同一个保存交易中,因此您正在寻找的是changes
.该previous_changes
不会有信息,直到更新完成之后.
RAILS 5.1.1:
使用saved_changes
而不是changes
在新版本中弃用.
归档时间: |
|
查看次数: |
3754 次 |
最近记录: |