Я использую rails 3.2.7, mongoid 3 и пытаюсь использовать разработку для учетных записей пользователей.
Прежде чем я начну: я много искал свою проблему и прочитал много руководств, но ни один из них не подходил для моих нужд.
У меня есть аналогичная проблема, такая как разработка и несколько "пользовательских" моделей
но я использую mongodb, поэтому я думаю, что проблема не совсем такая же.
У меня есть 3 типа пользователей:
- Ясли, которые могут иметь много мест и могут управлять ими (редактировать информацию).
- Пользователь, который может искать места (даже ни один пользователь не может) и создавать свои списки мест. Также пользователь может комментировать и отмечать места.
- Администратор, который может редактировать/удалять что угодно, так что админ - бог.
Итак, все они имеют разные данные (кроме информации для входа), и я не знаю, какое решение лучше.
STI было бы хорошо, если бы у них были одинаковые данные и разные действия, но данные тоже разные (но я использую монгоид, так что, может быть, это будет хорошо?)
Однопользовательская модель с ролями - еще одно решение, но я не знаю, как хранить разные данные, может быть, с полиморфным? Я не совсем понимаю, как это должно быть реализовано с помощью devise и, возможно, cancan.
Может есть третий?
Я знаю, что такое STI, полиморфные ассоциации, а также как реализовывать роли с помощью CanCan, но проблема в том, что я не знаю, как их связать с devise?
Если будет несколько регистрационных форм или одна, не беда. Мне также не нужно использовать devise.
Я нашел несколько руководств/примеров использования devise, monogid, ролей для многопользовательских приложений, но это когда пользователи хранят одни и те же данные, поэтому они мне не подходят.
Можете ли вы дать мне совет, или, может быть, ссылку, которая могла бы мне помочь?
Спасибо за помощь :)