- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试进行有条件的 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)
来更新属性。
最佳答案
您想使用 changes
而不是 previous_changes
。您仍在同一个保存事务中,因此您正在寻找的是 changes
。 previous_changes
在更新完成后才会有信息。
RAILS 5.1.1:
使用 saved_changes
而不是 changes
因为它将在新版本中被弃用。
关于ruby-on-rails - 在 after_update 回调中获取更改的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22896912/
美好的一天...我已经为将要更新的特定列实现了 after_update 回调,并且在更新该列之后,回调意味着将新更新的值添加到另一列,即 class Product :produced_chang
我有两个类和一个 belongs_to 关联: class User < ActiveRecord::Base belongs_to :foo before_update do |user|
我的模型的 cropping 方法在一个循环中被调用,这个循环在我更新 Controller 中的用户属性后永不结束。 用户 Controller 代码- def change_img
我正在尝试在模型更新后级联更新: event.listens_for(Task, "after_update") def propagate_status(mapper, connection, ta
我看到警告: DEPRECATION WARNING: Base#after_update has been deprecated, please use Base.after_update :met
我正在尝试进行有条件的 after_update,我有以下内容: after_update do |participant| Rails.logger.info "#{self.previ
我正在尝试通过使用客户账单的属性来创建一个任务,下面给出的是 class Supplier :destroy after_update :updating_daily_job_task def u
我有两个模型:UserNotification 和 Schedule。创建计划时,会创建一种类型的用户通知(第一行代码)。更新计划时,会创建另一种类型的用户通知(第二行代码)。出于某种原因, afte
我正在努力做到这一点,如果用户更改了两个 bool 变量(buyer 和 seller)中的任何一个,它们可以在任一方向进行更改以触发action) 它将第三个变量 status_confirmed
我有一个带有 after_update 的 Rails 对象将记录发送到队列的回调。问题是我注意到有时队列的处理速度比对象实际更新的速度要快。 我的问题:是 after_update不是在对象更新结束
我的模型中有一个 after_update 回调 after_update :do_something 但是,我不希望在创建对象后调用该方法。是否可以为 after_update 添加豁免? 最佳答案
我有一个触发作业的条件回调。如果管理器发生变化,则应调用该方法 class Employee < ActiveRecord::Base after_update :employee_manager
我在我的用户模型中使用 after_update 回调。 模型用户.rb after_update :check_phone check_phone phone_validation if pho
我希望拥有我的 after_update只有在 status_was 时才会触发钩子(Hook)我的对象的值是两个值之一: after_update :set_activity_log, :if =>
我是一名优秀的程序员,十分优秀!