了解Rails关联 - 哪种方式

时间:2013-07-05 15:15:05

标签: ruby-on-rails ruby associations

我是一名Rails新手并且正在努力理解协会。我已经阅读了导轨指南并理解了两个模型之间的基本关系,但我很难理解如何使用3来解决问题。

例如 - 假设我想创建某种标记/评分系统,教师可以设置自己的标记学生标准 - 例如。 1.理解,2。完整性,3。整洁等等,然后每个人都有一个可以创造平均值的分数。

我假设我需要3个模型 - 学生,标准(即评分标准)然后得分?

这些模型中的每一个如何相互关联?我一直在尝试不同的东西,但它们似乎没有起作用。

提前感谢任何帮助理解。

1 个答案:

答案 0 :(得分:1)

Teacher
  has_many :students
end

Student
  has_many :scores
  belongs_to :teacher
end

Criteria
  has_many :scores
  has_many :students, through: :scores
end

Score
  has_many :students
  has_many :criteria
end

因此,学生有很多分数(其中包含criteria_id,student_id和教师记录的实际分数。