Kiểm tra enum
của ActiveRecord
- doc
.
Tại đây, bạn có thể định cấu hình :status
của mình :
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def format_status
status.to_s.humanize
end
end
Nó sẽ tạo ra các phương thức như thế này:
hotel.waiting_contract?
hotel.designing?
hotel.waiting_contract!
hotel.format_status # => "Waiting contract"
Hy vọng điều đó sẽ hữu ích!
CẬP NHẬT
Chức năng tương tự có thể đạt được bằng cách ghi đè status
chính phương thức, mặc dù có các phương pháp riêng biệt được khuyên nhiều hơn:
class Hotel < ActiveRecord::Base
enum status: { waiting_contract: 1, designing: 2 }
def status
super.to_s.humanize
end
end
Hơn nữa, trình trang trí là điều bạn nên xem xét đối với các phương pháp dành riêng cho chế độ xem.