2012-07-03 24 views
13

Tôi vừa hoàn thành công việc của mình thông qua cuốn sách Phát triển Web nhanh với Rails, ấn bản thứ tư (http://pragprog.com/book/rails4/agile-web-development-with-rails) và cần trợ giúp để hiểu cách tạo mối quan hệ cha-con giữa các mô hình. Tôi đã làm một số Googling và poked quanh đây trên StackOverflow và học nói chung về kế thừa bảng duy nhất và thừa kế bảng lớp.Làm cách nào để triển khai kế thừa bảng lớp trong Rails?

Tôi có một loạt siêu dữ liệu về các mục khác nhau trong bộ sưu tập lưu trữ. Phần lớn siêu dữ liệu giống nhau đối với tất cả các đối tượng, ví dụ: số gia nhập, tiêu đề, mô tả, bản quyền, v.v. Ngoài siêu dữ liệu chung, có siêu dữ liệu chỉ áp dụng cho một số loại mục nhất định, ví dụ: ảnh cần giữ theo dõi liệu mặt hàng có màu hoặc đen trắng hay không; bản ghi âm cần phải theo dõi định dạng (CD, DAT, băng cassette, vv) và thời lượng; tài liệu văn bản cần theo dõi số lượng trang; v.v.

 Class hierarchy 

      Item 
       | 
    +-----------+------------+ 
    |   |   | 
Photo SoundRecording Text 

Vì tôi sẽ có hàng nghìn bản ghi tôi đã loại trừ thừa kế bảng đơn là quá kém hiệu quả. Tôi hiểu ý tưởng của kế thừa bảng lớp như trình bày ở đây: http://martinfowler.com/eaaCatalog/classTableInheritance.html nhưng tôi đang bối rối về cách tôi thực sự sẽ thực hiện điều này trong một dự án Ruby on Rails mới. Tôi có triển khai kế thừa bảng lớp như một liên kết đa hình (http://guides.rubyonrails.org/association_basics.html#polymorphic-associations) hay tôi đang đi sai đường không?

Cảm ơn bạn.

Trả lời

Các vấn đề liên quan