Comprobar enum
de ActiveRecord
- doc
.
Aquí puedes configurar tu :status
:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Creará métodos como este:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
¡Espero que eso ayude!
ACTUALIZAR
Se puede lograr una funcionalidad similar anulando el status
método en sí, aunque es más recomendable tener métodos separados:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Además, decoradores son algo que debe buscar en los métodos específicos de vista.