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