Я создаю приложение, которое имеет две пользовательские модели: user
и user_admin
, user_admin
предоставляется с activeadmin
через devise
и user
также было создано с помощью devise.Я создал главную страницу, некоторые ресурсы и страницу администратора, теперь я хочу ограничить доступ к любой странице администратора через cancan
.Итак, подведем итог:
Пользователь находится на главной странице, затем перейдите на ту же другую страницу, разработайте его перенаправив на sign_in
послеВойдите в систему, пользователь может просматривать страницы, но если он захочет зайти, администратор cancan должен предоставить ему 404 или предоставить доступ к страницам администратора, только если у него есть роль администратора, тогда он должен войти в систему с другой учетной записью user_admin.
Итак, как я могу описать в ability
ограничение для страниц администратора, некоторые проблемы: я не знаю, где находится Admin::DashboardController#index
, поэтому я не могу проверить здесь роль и сделать перенаправление404 Кроме того, активный администратор генерирует динамические маршруты, поэтому я тоже не могу его использовать.
Как мне заставить его работать?