Каков типичный формат/структура для создания административной области в приложении направляющих?
Конкретно я озадачен около этих тем:
Спасибо!
У вас может быть 2 контроллера, один для общедоступная и другая часть для администратора и использование пространства имен администратора:
map.namespace(:admin, :path_prefix => 'settings', :name_prefix => 'admin_') do |admin|
admin.resources :users
end
Он будет отображаться на / settings / users , а префикс контроллера должен быть Admin ::
{{ 1}} как Admin :: UsersController
, файл контроллера также должен быть помещен в папку admin в директории app / controllers .
Есть серия Railscasts, демонстрирующая подход, позволяющий избежать отдельной области администрирования за счет использования условных выражений в представлениях и контроллерах: Куда идет администрация .
Возможно, это не подходит для вашего случая использования, но на это стоит обратить внимание.
В дополнение к настройке пространства имен администратора в моих маршрутах я использую плагин declarative_authorization , который позволяет определять роли для пользователей и определить элементы управления доступом к действиям контроллера, а также к атрибутам модели. Если пользователь пытается получить доступ к действию, для которого нет разрешения, плагин перенаправит его запрос. Действительно аккуратный способ справиться с этим и помогает обеспечить детальный уровень безопасности.
В экосистеме Rails есть несколько других плагинов, которые предлагают аналогичные функции.