Centang enum
dari ActiveRecord
- doc
.
Di sini Anda dapat mengonfigurasi :status
:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Ini akan membuat metode seperti ini:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Semoga membantu!
PERBARUI
Fungsionalitas serupa dapat dicapai dengan mengganti status
metode itu sendiri, meskipun memiliki metode terpisah lebih disarankan:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Selanjutnya, dekorator adalah sesuatu yang harus Anda perhatikan untuk metode khusus tampilan.