У меня ActiveAdmin и Devise работают с пользователями. Я хотел бы использовать Devise для входа в систему обычных пользователей, не являющихся администраторами, с той же моделью пользователя. Как я могу это сделать? (Я хочу иметь флаг admin
в модели пользователя только для админов.) Я попытался добавить вторую строку в route.rb
devise_for :users, ActiveAdmin::Devise.config
devise_for :users
Но это дало ошибку, когда я попытался перечислить маршруты
>rake routes
DL is deprecated, please use Fiddle
rake aborted!
ArgumentError: Invalid route name, already in use: 'new_user_session'
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here:
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
Я создал адаптер авторизации, который просто проверяет user.admin == true
, и он работает нормально для ActiveAdmin. https://github.com/activeadmin/activeadmin/blob/master/docs/13-authorization-adapter.md