0

我有兩組模型的應用程序 - 基於內容(新聞,問題)和「東西」(設備,應用程序等)。我需要鏈接組之間的所有模型 - 例如,問題可能屬於3個不同的事情 - 一個應用程序和2個設備。相同 - 用於新聞。從另一方面來說 - 我需要看到與某些應用程序或設備相關的所有新聞文章和問題。雙向habtm鏈接

任何想法如何在軌道中開發這個?我只有一個想法 - mixins將方法content_id和thing_id添加到模型和連接表。

回答

1

只能在連接表中使用thing_id,thing_class,content_id,content_class和使用條件進行搜索,habtm將是不可行的。 「2, '設計', '頁',2」 「2, '設計', '廣告',4」 「2, 'AnotherThing', '頁',2」

然後獲取所有從連接表中的東西的頁面,其中id = self.id AND thing_class = self.class.name AND contant_class = Page.class.name

如果您需要使用habtm關聯,則可以使用STI + 1:1關聯,但這會讓事情更糟糕