У меня есть 4 модели в моих рельсах приложении:композитные ключевые ассоциациям в рельсах 3
класс/учитель/ученик/Присваивающие
мне нужно иметь:
п * п отношения между Классом и Учитель
n * n отношения между учителем и учеником
Для этих двух отношений это нормально, поскольку я создам 2 миграции для has_and_belongs_to_many.
Для модели Подборки, мне нужно, чтобы он связан с 3 предыдущими моделями:
Назначения стол должен быть как:
- идентификатор
- ярлык
- 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
делает это объединение позволяет иногда только зрачка связанно с уступкой, иногда кортеж (зрачок, учитель), а также имеет (Pupil, учитель, Класс), привязанный к заданию? Хм ... Я не уверен, что я понятен, но, на мой взгляд, назначение должно быть связано с кортежем (где одно или два поля могут быть пустыми). – Luc
Может ли несколько записей разделять одно и то же задание? Допустим, у меня есть ученик с id: 2, Classroom с id: 5, может ли Assignment с id: 20 быть привязанным к кортежу (2,5)? – Luc
Нет, он не может, присваивание может принадлежать только одной модели – gayavat