Controlla enum
di ActiveRecord
- doc
.
Qui puoi configurare il tuo :status
:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Creerà metodi come questo:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Spero di esserti stato d'aiuto!
AGGIORNAMENTO
Funzionalità simili possono essere ottenute sovrascrivendo lo status
metodo stesso, sebbene sia più consigliato avere metodi separati:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Inoltre, decoratori sono qualcosa che dovresti esaminare per metodi specifici di visualizzazione.