Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 817 Bytes

File metadata and controls

28 lines (19 loc) · 817 Bytes

16. Enums

La macro de enumeración asigna una columna de número entero a un conjunto de valores posibles.

class Book < ApplicationRecord
  enum availability: [:available, :unavailable]
end

Esto creará automáticamente los ámbitos correspondientes para consultar el modelo. Los métodos de transición entre los estados y la consulta del estado actual también se agregan.

# Ambos ejemplos a continuación consultan sólo los libros disponibles.
Book.available
# or
Book.where(availability: :available)
 
book = Book.new(availability: :available)
book.available?   # => true
book.unavailable! # => true
book.available?   # => false

Lea la documentación completa sobre enums en los documentos de la API de Rails.