Вопрос, который встает передо мной, заключается в том, являются ли отношения между Студентом и Пользователем отношениями «есть» или «есть». Это связано с объектным моделированием проблемы предметной области.
Я подозреваю, что это может быть is-a, и в этом случае вам не нужны has_one и assign_to - известные как "состав" - но вместо этого наследование одной таблицы (STI) - известные как "наследование". 1003 *
Вопросы, которые нужно задать:
1. Является ли ученик также пользователем, т. Е. Имеет ли ученик те же атрибуты и методы, что и пользователь, плюс дополнительные методы или ограничения? Поскольку в этом случае ученик также является пользователем, вопрос о том, может ли ученик иметь 0, 1 или более пользователей, не применяется.
2. Есть ли у Ученика «Пользователь» в том смысле, что у него также может быть 0 Пользователей или, возможно, более 1?