Vérifier enum
de ActiveRecord
- doc
.
Ici vous pouvez configurer votre :status
:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Cela créera des méthodes comme celle-ci :
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
J'espère que ça aide !
MISE À JOUR
Une fonctionnalité similaire peut être obtenue en remplaçant le status
méthode elle-même, bien qu'il soit plus conseillé d'avoir des méthodes séparées :
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
De plus, décorateurs sont quelque chose que vous devriez examiner pour les méthodes spécifiques à la vue.