2014-03-03 94 views
0

我一直在做很多研究,以瞭解在我正在開發的項目上開發新功能架構的最佳方法。使用無限類別和無限子類別產品創建架構

我會將產品與無限數量的類別和無限數量的子類別相關聯。

當我開始感到沮喪時,我開始想,也許我只是在想它。我想知道下面的活動記錄關聯是否對你有意義,你可以預見任何可能的陷阱。

class Product < ActiveRecord::Base 
    has_many :categories 
    has_many :sub_categories, through: :categories 
end 

class Category < ActiveRecord::Base 
    belongs_to :product 
    has_many :products 
end 

class SubCategory < ActiveRecord::Base 
    belongs_to :category 
end 
+0

有沒有在美食領域有什麼區別血淋淋和一個子類別的領域? – steakchaser

+0

類別或子類別之間沒有重複,即可能有一個「桌子」類別的子類別「牀單」「夜景」 – isea

+0

但他們有相同的數據字段?在你的「表格」例子中,兩者都有一個名稱字段。 – steakchaser

回答

0

在這一點上,只要去你所擁有的。

如果你開始發現大量數據和行爲(例如方法)重疊,或者如果你發現自己總是想訪問類別和子類別一起,你可以開始看:

  1. Self joins - 這將讓你保持這兩個類別在同一個表和相同類型的模型
  2. Ancestory - 額外的靈活性,全數據的樹形結構
相關問題