2013-06-12 2 views
0

Мне любопытно, как я буду реализовывать это.Как моделировать отношения для каждого уникального пользователя?

Я создаю онлайн-учебный веб-сайт. На этом веб-сайте есть несколько курсов, которые пользователи могут выполнить. Курсы имеют полный атрибут, который является просто логическим.

Я хочу, чтобы прогресс каждого пользователя отслеживался. Так что давайте говорить, что я нахожусь на курс шоу странице, и я хочу, чтобы быть в состоянии сделать

@course.complete? 

и получить уникальный ответ для каждого пользователя.

Прямо сейчас у меня есть пользовательская модель, которая может войти и выйти, но у меня нет отношений между пользователями и курсами.

Каков наилучший способ настроить эти отношения, чтобы каждый курс был уникальным для каждого пользователя?

Если у пользователя A есть курс, то он будет показывать true. Если пользователь B не завершил курс, он будет показывать false.

Спасибо!

ответ

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 
Смежные вопросы