Restricting Values with Inclusion Validation

Rails enums do not automatically restrict values to predefined options. A user could still be assigned an invalid integer unless validation is enforced.

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

  validates :status, inclusion: { in: statuses.keys }
end

Now, attempting to assign an invalid status will trigger a validation error.

user = User.new(status: :deleted) # Raises ActiveRecord::RecordInvali