Допустим, у меня есть модель User, и я хочу иметь разные роли пользователя. В одном приложении вы можете просто сохранить роль в виде строки или другой модели, и это нормально.
Но что, если вы хотите сохранить больше ассоциаций для отдельных моделей? Например, допустим, что администраторы содержат ссылки на коллекции и принадлежат многим коллекциям, с которыми обычные пользователи не должны быть связаны? Фактически, другие пользователи будут связаны с целым рядом других моделей, которых нет у администраторов.
Помещаем ли мы все ассоциации в объект User и просто игнорируем их в зависимости от типа пользователя? Или мы начинаем создавать подклассы User (как в Hibernate), чтобы содержать только ассоциации и логику модели для этого типа пользователя?
Как это сделать в рельсах? Спасибо!