Я строю рельсы 3 App.Я постараюсь описать это приложение в меру своих возможностей и кратко, насколько это возможно.
Два основных типа моделей в этом приложении:
Тогда есть две другие модели:
- Категории
- Подкатегории (вложенные в Категории)
Как они работают вместе: предприятия могут иметь (или принадлежать, скорее) столько категорий, сколько им нравится (и любые связанные с ними подкатегории).
Пользователь может выбирать категории для «подписки», т.е.они выбирают категории, которые они хотят показать в своем фиде, и любые компании, принадлежащие этим категориям, будут отображаться в фиде (то же самое с подкатегориями)
Важно отметить, что категории и подкатегории будутдиктуется только администраторами, пользователи / компании не могут добавлять / уничтожать категории, только следовать за существующими
Мой план того, как реализовать это, заключался в создании модели «следующего» сh следующие атрибуты
- user_id
- followable_id
- followable_type
, из которых будет два "followable_types": пользователь ибизнес.Как вы можете видеть, это не совсем полиморфная модель.
Методы, с которыми я сталкиваюсь.Например, как мне создать список всех предприятий, которые принадлежат категориям, за которыми следует пользователь?Это потребовало бы некоторых хитрых запросов и большого количества взлома.Это заставляет меня поверить, что я подхожу к проблеме с неправильной точки зрения.
Может ли кто-нибудь направить меня в правильном направлении?Может быть, моя архитектура нуждается в некоторой работе.Или подскажите, как мне писать свои методы.
Спасибо !!