如何为每个唯一身份用户建立此关系模型?

时间:2013-06-12 19:11:59

标签: ruby-on-rails

我很好奇我将如何实现这一目标。

我正在创建一个在线学习网站。用户可以在此网站上完成一些课程。课程有完整的属性,只是一个布尔值。

我希望每个用户的进度都可以跟踪。所以,假设我在课程展示页面,我希望能够做到

@course.complete? 

并为每个用户获得唯一的响应。

现在我有一个可以登录和注销的用户模型,但我没有用户和课程之间的关系。

建立这种关系的最佳方式是什么,以便每个用户都有一个独特的课程?

即。如果用户A已完成课程,那么它将显示为真。如果用户B没有完成课程,那么它将显示错误。

谢谢!

1 个答案:

答案 0 :(得分:1)

我会这样做

class Student < ActiveRecord::Base
  has_many :course_enrollments
  has_many :courses, :through => :course_enrollments
  # code here
end

class Course < ActiveRecord::Base
  has_many :course_enrollments
  has_many :students, :through => :course_enrollments
  # code here
end

class CourseEnrollment < ActiveRecord::Base
  belongs_to :student
  belongs_to :course
  # code here
end