1
我創建的應用程序允許用戶創建課程並在課程中包含不同類型的資源(文檔,視頻,測驗)。我很難找出建立課程與資源之間聯繫的最佳方法。多表繼承與多態
現在,我有:
class Course < AR::Base
has_many :documents
has_many :videos
has_many :quizzes
end
class Document <AR::Base
belongs_to :course
end
class Video <AR::Base
belongs_to :course
end
class Quiz <AR::Base
belongs_to :course
end
文檔,視頻和測驗都具有不同的一些共同的屬性(例如,名稱,描述),但也有許多屬性。我考慮過使用STI並讓他們繼承一個名爲「Lessons」的類。我決定不採用這種方法,因爲我需要爲每個類使用多個控制器。
最終,我希望能夠對屬於課程的所有資源執行操作,例如將所有文檔,視頻和測驗列在一起,並將它們顯示爲可排序列表。
關於如何最好地設置此模型的任何建議。看來,如果我能做到這一點有兩種方法:
我是小白的軌道,所以我」很難評估哪種方法最適合這種情況。任何意見,將不勝感激!