1

我有一个名为 Course 的模型,它需要与考试和作业相关联。我希望能够编写这样的代码:

>>c = Course.new
>>assignment1 = c.assignments << Assignment.new
>>exam1 = c.exams << Exam.new

c.assessments 现在应该包括exam1 和assignment1

我认为这应该如何完成(使用评估模型的单表继承):

class Course < ActiveRecord::Base
  has_many :assessments
  attr_accessible :title, :name, :startDate, :endDate, :color
end

class Assessment < ActiveRecord::Base
  belongs_to :course
  attr_accessible :end_at, :name, :start_at, :type, :weight
end

class Assignment < Assessment
end

class Exam < Assessment
end

我已经尽力找出如何做到这一点,但我似乎无法弄清楚。任何帮助,将不胜感激。

4

1 回答 1

1

课程只有评估关联,因此您应该能够编写如下代码:

c = Course.new
c.assesments << Assignment.new
c.assesments << Exam.new

还要确保评估表具有数据类型字符串的类型列。

于 2013-10-25T05:28:43.983 回答