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”的类。我决定不采用这种方法,因为我需要为每个类使用多个控制器。
最终,我希望能够对属于课程的所有资源执行操作,例如将所有文档,视频和测验列在一起,并将它们显示为可排序列表。
关于如何最好地设置此模型的任何建议。看来,如果我能做到这一点有两种方法:
我是小白的轨道,所以我”很难评估哪种方法最适合这种情况。任何意见,将不胜感激!