Я использую Ruby on Rails для внутреннего сайта. Различные пользователи сайта имеют доступ к широкому спектру данных и весьма разнородным перспективам данных. Внутри этих разных классов пользователей должны быть уровни доступа. В пределах уровней доступа мне нужно иметь возможность добавлять функции от других классов пользователей.
В выпущенной «версии 1.0» сайта интрасети я реализовал общие классы пользователей. Теперь мне нужно реализовать более детальный контроль доступа пользователей.
Вопрос в том, как?
Какова общепринятая практика для кодирования пользовательских настроек (отображать карту (или нет); доступ к этой функции, но не к этой функции) без разбора схемы базы данных и заполнения кода представления с помощью <% if feature_allowed%> теги везде.