设计rails项目

时间:2013-09-27 10:31:57

标签: ruby-on-rails

我将开发一个大学管理项目,其中包括一些限制,

  1. 有一些学期从1到8或更多
  2. 有些科目可以在不同的学期学习科目,因此一学期有很多科目。
  3. 具有唯一身份证的学生可以注册一个学期。形成属于该学期的科目,他可以选择一些科目。
  4. 学生无法注册之前注册的学期。但是他可以注册到另一个学期。
  5. 我该如何设计?

1 个答案:

答案 0 :(得分:0)

模型是这样的:

class Semester < ActiveRecord::Base
  has_many :subjects
  has_many :semester_students
  has_many :students, :through => :semester_students
end

class Subject < ActiveRecord::Base
  belongs_to :semester
end

class Student < ActiveRecord::Base
  has_many :semester_students
  has_many :semesters, :through => :semester_students
end

使用外键(semester_id,student_id,subject_id等)和关联表(semester_students)来实现一对一,一对多和多对多关系。