Я работаю над проектом, который включает в себя семь разных пользователей. У этих пользователей есть очень похожий вид панели.Создание нескольких панелей мониторинга для полдюжины типов пользователей в Rails
Они почти точно так же для каждого пользователя, но немного отличаются: пользователи
- высшего уровня имеют определенные кнопки видимые
- Компоновка таблица включает в себя дополнительные столбцы
- Некоторые действия, связанные с записи в таблице ограничены для обычных пользователей
Я хотел бы сделать код более СУХОЙ, но как мне подойти к этой проблеме, если частичная обработка осложнит макет, а не подразумевать это, в данном случае?
Моя первоначальная идея состояла в том, чтобы отображать ВСЕ элементы, но скрыть/ограничить их операциями if
, делая для один, но очень логично-тяжелый вид.
В более широком смысле, если пользовательский интерфейс значительно изменяется в зависимости от уровня привилегий пользователя, просматривающего его, каков приемлемый шаблон Rails для хранения вещей?