PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm thế nào để ánh xạ thuộc tính số nguyên của một mô hình thành một chuỗi?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có thể sử dụng EXCEPTIONs trong FOR LOOP để buộc tiếp tục khi bị lỗi không?

  2. Trích xuất ngày (yyyy / mm / dd) từ dấu thời gian trong PostgreSQL

  3. Tính giờ làm việc giữa 2 ngày trong PostgreSQL

  4. Không thể chèn hàng mới vào bảng cơ sở dữ liệu postgres?

  5. PostgreSQL CHÈN vào một mảng enums