В школе много курсов. Курс имеет множество разделов. Студент регистрируется в секции курса. Я хочу, чтобы найти всех учеников в школе.Как я могу связать студентов с учебным заведением на двух уровнях (курсы и секции курса) в рельсах 3.1?
Class School < ActiveRecord::Base
has_many :courses
has_many :sections, :through => courses
has_many :students, :through => courses, :through => sections, :through => enrollments
end
Class Course < ActiveRecord::Base
belongs_to :school
has_many :sections
has_many :students, :through => sections, :through => enrollment
end
Class Section < ActiveRecord::Base
belongs_to :course
has_many :students, :through => enrollment
end
Class Student < ActiveRecord::Base
has_many :sections, :through => enrollment
has_many :courses, :through => sections, :through => enrollment
has_many :schools, :through => courses, :through => sections, :through => enrollment
end
Зачисление - это всего лишь таблица с идентификатором раздела и идентификатором студента, когда студент регистрируется в этом разделе курса.
Есть ли лучший способ сделать то, что я пытаюсь сделать здесь?
Спасибо.