Logging Enum Changes for Auditing
If you need to track enum transitions, you can store old values in a log table or Rails logger.
Example: Logging Status Changes
class Order < ApplicationRecord
enum :status, { pending: 0, confirmed: 1, shipped: 2, delivered: 3 }
after_update :log_status_change, if: :saved_change_to_status?
private
def log_status_change
Rails.logger.info "Order #{id} changed from #{status_was} to #{status}"
end
end