2013-06-12 2 views
0

저는 이것을 구현하는 방법에 대해 궁금합니다.각 고유 사용자에 대해이 관계를 어떻게 모델링합니까?

온라인 학습 웹 사이트를 만들고 있습니다. 이 웹 사이트에는 사용자가 완료 할 수있는 몇 가지 코스가 있습니다. 코스는 완전한 속성을가집니다. 단지 부울입니다.

나는 각 사용자의 진행 상황을 추적 할 수 있기를 원합니다. 그래서 내가 물론 쇼 페이지에서 오전 생각한 나는

@course.complete? 

을하고 각 사용자에 대해 고유 한 응답을 얻을 수 있어야합니다.

지금은 로그인 할 수있는 사용자 모델을 설정했지만 사용자와 코스 간의 관계는 없습니다.

각 과정이 각 사용자에게 고유하도록이 관계를 설정하는 가장 좋은 방법은 무엇입니까?

즉 사용자 A가 코스를 완료하면 사실을 표시합니다. 사용자 B가 과정을 완료하지 않은 경우 오류가 표시됩니다.

감사합니다.

답변

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 
처럼 할 것
관련 문제