У меня есть приложение, где есть несколько способов задействовать разные ресурсы. Например:Контроллеры Rails - Консолидация или нет?
Для проектов:
- Клиенты могут создавать, просматривать, редактировать и отменять их проекты
- Администраторы могут просматривать, редактировать и вносить другие изменения (например, изменение статус и редактирование скрытые поля)
- Поставщики могут просматривать проекты и добавить предыдущие проекты с другими клиентов в свой портфель
Для структуры каталогов я намеревался создать их под тремя отдельными контроллерами, а именно: «клиенты/проекты», «администраторы/проекты» и «поставщики/проекты». Но теперь я думаю - должен ли я комбинировать эти все и скорее поставить условную логику в контроллере, чтобы изменить то, что каждый вид пользователя может видеть или делать?
Я беспокоюсь о авторизации (я знаю, что я мог бы использовать Pundit для решения этой проблемы?), Но и о чрезмерном усложнении одного контроллера! Какова наилучшая практика в подобном сценарии?