enum
を確認してください ActiveRecord
の - doc
。
ここで、:status
を構成できます :
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
次のようなメソッドが作成されます:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
お役に立てば幸いです。
更新
status
をオーバーライドすることで、同様の機能が実現される可能性があります メソッド自体。ただし、個別のメソッドを使用することをお勧めします。
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
さらに、デコレータ ビュー固有のメソッドについて調べる必要があるものです。