Tôi đang cố gắng để thực hiện một after_update có điều kiện, tôi đã điều sau đây:Nhận thay đổi các thuộc tính trên after_update callback
after_update do |participant|
Rails.logger.info "#{self.previous_changes} changed."
if self.previous_changes.include?(:current_distance)
#Do my stuff ...
end
end
Các bản in logger trống băm: {}
Làm thế nào tôi có thể kiểm tra thuộc tính đã được đã thay đổi?
Tôi đang sử dụng: participant.update_attribute(:current_distance, distance)
để cập nhật thuộc tính.
Nội dung thú vị! Nhưng không nên cập nhật được hoàn thành khi nó đạt đến 'after_update' gọi lại? – kiddorails
Không cập nhật nào không được coi là "hoàn thành" cho đến khi chuỗi gọi lại đầy đủ được thực hiện. Vui lòng xem http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html để biết chi tiết. –