2009-03-30 56 views
12

Tôi có một mô hình cốt lõi cho một Item và một tập lệnh để điền nó từ nguồn tùy chỉnh (nghĩ, nguồn cấp dữ liệu RSS). Trong nguồn cấp dữ liệu, mỗi Mục được xác định bằng guid; trong hệ thống của tôi, Mục chỉ có một khóa chính id được tạo tự động.điều gì sẽ xảy ra nếu bạn sử dụng attribute_to mà không có has_one tương ứng?

Tôi muốn có, chúng ta hãy nói, ItemFeedInfo mà các bản đồ guid->id (vì vậy mà tôi có thể phân biệt giữa mới được sửa đổi so với Items)

Tôi đang nghĩ đến việc tạo

class ItemFeedInfo 
    belongs_to :Item 
end 

Tôi không muốn sửa đổi Item vì định nghĩa của nó độc lập về mặt logic ItemFeedInfo Tuy nhiên, mỗi ví dụ tôi có thể tìm thấy bằng cách sử dụng belongs_to, đề cập đến một đối tác has_one. Nó có cần thiết không?

Trả lời

16

Nó không quan trọng.

belongs_to chỉ cần thêm một số phương thức vào lớp ItemFeedInfo. Bạn biết khi bạn làm item_feed_info.items.find_all ... items chỉ là một phương pháp được bổ sung động khi bạn gọi belongs_to.

Nếu bạn không sửa đổi lớp Item, thì bạn chỉ đơn giản là không thêm các phương thức ở phía bên kia. Bạn sẽ không thể thực hiện item.item_feed_infos.find_all, bởi vì không thêm has_many :item_feed_infos, phương thức đó sẽ không được thêm vào lớp Item, nhưng nếu bạn không bao giờ thực sự cần thực hiện việc này thì sẽ không thành vấn đề.

+0

Cảm ơn rất nhiều. Tôi không thể tìm thấy thông tin này ở bất cứ nơi nào khác (có lẽ tôi nên nhìn khó hơn ..). – lnreddy

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