Я пытаюсь, чтобы Devise создал единую модель пользователя, а разные роли были отдельной моделью. Моя модель пользователя (от пользователя rails g devise) имеет поле электронной почты, имени, фамилии и роли.
Роли администратор, зритель, участник. Итак, я создал модели администратора, зрителя и конкурента, которые наследуются от модели пользователя.
Я следовал верхнему ответу из разработки и нескольких пользовательских моделей, и я могу создать пользователя. Однако миграция модели моего конкурента также содержит другую информацию, такую как название конкурса и местоположение, которые не требуются для других моделей. Когда я делаю Competitor.create() и ввожу необходимую информацию для создания пользователя devise, пользователь сохраняется в базе данных, даже если у меня есть нулевые ограничения на модель конкурента для имени и местоположения конкурса.
Когда я запускаю Spectator.all, появляются недавно созданные данные о конкурентах, чего, как я думал, быть не должно....
Мой вопрос заключается в том, как мне настроить это так, чтобы пользователь-конкурент не создавался, если не указано его имя и местоположение в конкурсе.
Другой вопрос, почему когда я делаю Spectator.all, отображается информация о конкуренте?