Tjek enum
af ActiveRecord
- doc
.
Her kan du konfigurere din :status
:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Det vil skabe metoder som denne:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Håber det hjælper!
OPDATERING
Lignende funktionalitet kan opnås ved at tilsidesætte status
selve metoden, selvom det er mere tilrådeligt at have separate metoder:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Desuden dekoratører er noget, du bør undersøge for visningsspecifikke metoder.