Handling Enum Constraints with Custom Scopes

If strict validation is required, define custom scopes to filter out invalid values.

class User < ApplicationRecord
  enum :status, { active: 0, inactive: 1, suspended: 2 }

  scope :valid_statuses, -> { where(status: statuses.values) }
end

Now, calling User.valid_statuses ensures no invalid statuses are retrieved.