Aktivieren Sie enum
von ActiveRecord
- doc
.
Hier können Sie Ihren :status
konfigurieren :
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Es erstellt Methoden wie diese:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Hoffe das hilft!
AKTUALISIEREN
Eine ähnliche Funktionalität kann durch Überschreiben des status
erreicht werden Methode selbst, obwohl es ratsamer ist, separate Methoden zu haben:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Außerdem Dekorateure sind etwas, das Sie nach ansichtsspezifischen Methoden untersuchen sollten.