Tôi hiện đang làm việc trên ứng dụng Rails 3 có vẻ như nó có thể cần sử dụng Thừa kế bảng lớp cho một vài mô hình.Thừa kế bảng lớp trong Rails 3
Ví dụ đơn giản về những gì đang xảy ra là điều này.
Tôi có một lớp được gọi là Người có các thuộc tính chung như tên, email, mật khẩu chung cho tất cả các loại người trong ứng dụng và được sử dụng để xác thực.
Có hai lớp con cho Người (hoặc hai loại người ...), Người lái xe và Hành khách. Cả hai lớp con này đều chia sẻ các thuộc tính chung của Person nhưng sau đó có các thuộc tính bổ sung cụ thể duy nhất cho chính chúng. (ví dụ: Người lái xe có thể có nhiều Phương tiện và Giấy phép nhưng Hành khách sẽ không)
Tôi sẽ triển khai CTI như thế nào cho tình huống này? Tôi đã nhìn vào một ví dụ được cung cấp ở đây:
http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading
Nhưng nó không suy đoán về cách truy cập các thuộc tính chung của một người từ một điều khiển hoặc hành khách đối tượng và tôi là một chút bối rối bởi cái đó.
Đặc biệt, những gì tôi muốn biết là:
Nếu tôi cập nhật các thuộc tính của một Driver, làm thế nào tôi có thể dễ dàng truy cập và cập nhật các thuộc tính có liên quan trên bảng người mẹ? Tôi có phải móc vào một cuộc gọi lại after_save và tách ra mà cập nhật thuộc tính đi đâu? Hoặc là có cách nào tốt hơn để tiếp cận điều này?
Tôi nên thêm rằng đây là một ví dụ đơn giản về những gì đang diễn ra trong ứng dụng của tôi. Tôi chắc chắn rằng tôi cần phải thực hiện thừa kế bảng lớp trong tình huống của tôi, Thừa kế bảng đơn sẽ không phải là cách tốt nhất. –
Tôi đặt một bình luận trên blog tôi đã đề cập đến trong câu hỏi của mình và tác giả vui lòng cung cấp một ví dụ về một cách để làm điều này: http://rhnh.net/2010/08/17/updating-class-table-inheritance- bảng (Bạn đá Xavier!) –