2015-07-10 102 views
1

我想在Rails的4小類一款型號爲學校的功課創造:軌道4型號分類和多子類別

有3種型號: - 類別 - 主題 - 等級

類別是例如:科學,語言,考試準備,不會超過15〜20。主題例如:數學,物理,英語,西班牙語,不會超過30〜50。 等級爲:高中,研究生學位,不會超過5〜7。

第一種方法:

創建3個獨立的模型,並添加關係

Category has_many :topics 
Level has_many :topics 
Topic belongs_to :category 
Topic belongs_to :level 

第二種方法

創建2個表:類別和主題,類別是一樣的上述,Topic保留與嵌套子類別相同的表中的級別。父主題是數學,孩子主題是數學 - 高中。

Category has_many :topics 
Topic belongs_to :category 
Topic has_many :subtopics (parent_id foreign key) 
SubTopic belongs_to :parent_topic 

第一種方法是我最初的想法,但3種不同的模型處理情況似乎很多。對於這種情況的任何建議?

回答

0

我認爲最好的方法是逐步完成。從最上面的水平開始。

class Level 
has_many :categories 
has_many :topics,:through=>:categories 
end 
class Category 
belongs_to :level 
has_many :topics 
end 
class Topic 
belongs_to :Category 
end