Controleer enum
van ActiveRecord
- doc
.
Hier kunt u uw :status
. configureren :
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Het maakt methoden zoals deze:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Ik hoop dat dat helpt!
UPDATE
Soortgelijke functionaliteit kan worden bereikt door de status
. te overschrijven methode zelf, hoewel het beter is om aparte methoden te gebruiken:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Bovendien, decorateurs zijn iets waar u naar moet kijken voor weergavespecifieke methoden.