В настоящее время я пишу веб-приложение для интрасети, где люди могут отправлять администраторам запросы на добавление различных ресурсов. Примеры запросов будут:
- установка программ, в этом случае пользователь выберет, какую программу он хочет установить
- увеличение квоты, в этом случае пользователь просто введет объем дискового пространства, который ему нужен, или, возможно, он выберет предварительно определенные количества - 1 ГБ, 10 ГБ и т. Д.
- создайте новый псевдоним электронной почты, в этом случае пользователь просто наберет псевдоним.
- ...
Я думал о том, чтобы иметь только одну модель UserRequests со ссылкой на отправителя и
два необязательных атрибута, один будет reference_id, который будет ссылаться на другие таблицы (для
например программа, которую он хочет установить), а другая будет использоваться для полей свободного типа
как псевдоним электронной почты или квота.
Так что моя проблема в том, что в зависимости от типа запроса модель должна содержать:
- ссылка на другую таблицу
- целочисленные данные
- строковые данные
В зависимости от типа запроса должно быть выполнено данное действие - возможно, псевдоним электронной почты.
можно добавить с рельсов, но приложение на компьютере пользователя будет установлено вручную.
У кого-нибудь была подобная проблема? Как вы думаете, использование полиморфизма для такого рода вещей является хорошей идеей? Есть ли у вас какие-либо предложения по организации данных в таблицах?