为Rails中的3个模型定义关系(多对多)

时间:2013-03-26 07:24:31

标签: ruby-on-rails ruby-on-rails-3 database-design activerecord relationship

我在Rails中有三个模型:课程,成绩和主题。

关系场景如下:

  

'G1'年级的课程'C1'has_many Topics(t1,t2,t3)

     

'G2'年级的课程'C2'has_many主题(t1,t2,t4,t5)[A   主题可以在许多不同的课程中,但可能会有不同的教学   成绩]

G1级本身可以是多个课程的一部分,如C1,C2

我需要存储信息,以便对于主题t1,我可以说:

  

在G1级的C1中讲授

     

在G2级C2中讲授

如何在Rails中设置它?

1 个答案:

答案 0 :(得分:0)

这似乎模仿了你所追求的东西,我相信?

class Curriculum < ActiveRecord::Base
  has_many :grades
end

class Grade < ActiveRecord::Base
  belongs_to :curriculum
  has_and_belongs_to_many :topics
class

class Topic < ActiveRecord::Base
  has_and_belongs_to_many :grades
end