У меня есть схема, где:
Студенты
- has_and_belongs_to_many: курсы
- has_many: оценки,: зависимые =>: уничтожить
- has_many: назначения,: через =>: оценки
Курсы
- has_many: назначения,: зависимые =>: уничтожить
- has_and_belongs_to_many: студенты
Назначение
- принадлежит_ к курсу
- has_many: оценки, зависимые =>: уничтожить
- has_many: студенты,: через =>: оценки
Сорт
- принадлежит_ студенту
- принадлежит_: назначение
Я хотел бы добавить функциональность, посредством которой, если добавляется оценка, и учащийся не принадлежит к курсу, к которому относится назначение оценки, тогда это соотношение устанавливается. Какие-нибудь предложения относительно лучшего способа сделать это? Таблица grades_courses не имеет своей собственной модели, нужно ли это делать?
Друг предложил использовать after_create, но я не знаю, как передать параметры этому.