У меня есть 4 модели в приложении для рельсов:
Классная комната / Учитель / Ученик / Назначение
Мне нужно иметь отношения:
n * n между Классной комнатой иУчитель
n * n отношения между учителем и учеником
Для этих двух отношений это нормально, так как я создам 2 миграции для has_and_belongs_to_many.
Для модели назначений мне нужносвязать его с 3 предыдущими моделями:
Таблица назначений должна выглядеть следующим образом:
- id
- label
- classroom_id
- teacher_id
- pupil_id
Является ли следующий подход наилучшим для моделирования последних отношений?
class Assignment < ActiveRecord::Base
belongs_to: classroom
belongs_to: teacher
belongs_to: pupil
end
class classroom < ActiveRecord::Base
has_many: assignments
end
class teacher < ActiveRecord::Base
has_many: assignments
end
class pupils < ActiveRecord::Base
has_many: assignments
end