【发布时间】:2019-10-19 07:39:21
【问题描述】:
我正在申请学校,其中需要讲师和学生的课程列表,学生的讲师列表和讲师的学生列表。
所以我有三个模型:员工、学生和课程。
我是 RoR 的新手,现在协会对我来说不是最有意义的,但我希望每个教职员工和学生都有多门课程。所以我想has_many 和belongs_to。然后我希望每个学生都有他/她的讲师名单,所以has_many :staff, through: :course 和员工has_many :student, through: :course 相同。我还想为关系使用一个特定的列,比如 course_code 而不是 id。
员工.rb
has_many :courses
has_many :students, through: :courses
学生.rb
has_many :courses
has_many :staff, through: :courses
课程.rb
belongs_to :staff
belongs_to :students
如果我想能够做到@student.course.all 和@student.lecturer.all,这是最好的方法吗?
【问题讨论】:
-
一门课程可以有多位讲师吗?
-
考虑创建另一个模型作为 M:M 关系之间的桥梁(类似于
Enrollment,而不是 Course)。Course应该只包含有关课程的内容(如您所述,course_code之类的内容)。 -
是的,还有多名学生。
-
@MarkMerritt 我想到了,我最初创建了 2 个表,Students_Courses 和 Staff_Courses,但我不知道如何从那里继续前进。
-
@BeulahAkindele 这对我来说似乎是一个合理的解决方案。从那里它只是构建查询以获取数据的问题。
标签: ruby-on-rails associations rails-activerecord