Как обрабатывать несколько типов пользователей в Rails? - PullRequest
5 голосов
/ 09 апреля 2011

Я нахожу хороший способ моделирования различных типов пользователей в системе.Для регистрации он / она может выбрать ученика, наставника или обоих.Быть студентом или наставником имеет другой набор свойств.Студент и наставник также будут иметь разную компоновку шаблона профиля.

Как бы вы разработали свои контроллеры и модели для такого рода проблем?

1 Ответ

3 голосов
/ 09 апреля 2011
  1. Я бы создал User, который может содержать класс Mentor и / или класс Student.Таким образом, ваши различные свойства отделены друг от друга, в то время как те же самые свойства остаются в классе User.
    В контроллере вы можете отобразить шаблон (или его часть), в зависимости от экземпляра, который содержит пользователь.Один для студентов, один для наставников и один для обоих.

  2. Вы также можете использовать Наследование (User в качестве родителя с Mentor, Student и Both в качестве дочернего элемента).Ключевое слово, которое вы хотите посмотреть здесь - Single Table Inheritance.

Имхо проблема в обоих вариантах.Поэтому я бы предпочел 1-е решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...