rails许多关联表结构

时间:2014-03-11 22:00:14

标签: ruby-on-rails database-design associations data-modeling

我正在尝试在rails中建立一个关注跟踪系统。我需要一些帮助来设计表格以及它们之间应该存在哪些关联。

我将有学校,然后将课程和教师分配到每个班级。每个班级将有50名学生。

所以我认为我应该有一个学生表,然后是课程,然后是老师和一个人。

我不知道我应该如何设计关注表和其他表格。请有人帮忙。

1 个答案:

答案 0 :(得分:0)

<强>模型

#app/models/school.rb
Class School < ActiveRecord::Base
    has_many :classes, class: "Class"
    has_many :teachers, through: :classes
end

#app/models/class.rb
Class Class < ActiveRecord::Base
    belongs_to :school
    has_many :teachers, class: "Teacher"
end

#app/models/teacher.rb
Class Teacher < ActiveRecord::Base
    belongs_to :class
end

#app/models/student.rb
Class Student < ActiveRecord::Base
    belongs_to :class
end

<强>架构

schools
id | name | created_at | updated_at

classes
id | school_id | name | created_at | updated_at

teachers
id | class_id | name | created_at | updated_at

students
id | class_id | name | created_at | updated_at

这将允许您致电:

@school.classes
@school.teachers

@class.school
@class.teachers

@teacher.class

@student.class