Verifique
enum
de ActiveRecord
- doc
. Aqui você pode configurar seu
:status
:class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Ele criará métodos como este:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Espero que ajude!
ATUALIZAÇÃO
Funcionalidade semelhante pode ser obtida substituindo o
status
método em si, embora seja mais aconselhável ter métodos separados:class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Além disso, decoradores são algo que você deve procurar por métodos específicos de exibição.