Как войти в учетную запись администратора и пользователя с помощью acitve admin в rails 6? - PullRequest
1 голос
/ 16 июня 2020

Я пытаюсь создать приложение «Покупатель» рельсов с тремя моделями: «Категория», «Предметы» и «Покупатели». В каждой категории может быть много товаров (has_many), и каждый покупатель может купить много товаров (has_many). Этому приложению требуется страница входа для пользователей. Я установил гемы ActiveAdmin и Devise для своего приложения (Shopper). Как создать форму для входа, выхода и регистрации с помощью этих драгоценных камней. Если зарегистрированный пользователь совпадает с именем администратора и паролем, он должен отображать панель администратора (Активный администратор), где вы можете создавать, обновлять и удалять категорию и элемент, и если зарегистрированный пользователь не является администратором (Покупатель), он должен отображаться страницу Предметов в приложении, где Покупатель может выбирать товары. Как я могу это сделать?

Я пробовал это Как мне использовать Devise и ActiveAdmin для одной и той же модели пользователя? Но это не применимо для моего приложения.

1 Ответ

1 голос
/ 16 июня 2020

Хотя с помощью Devise можно аутентифицировать разные модели, наиболее распространенным решением в вашей ситуации было бы использование одного названия модели User как для ваших покупателей, так и для вашего администратора (администраторов). Затем в базовую таблицу базы данных вы добавляете логический столбец admin, для которого ActiveRecord автоматически предоставит метод admin? в модели User.

Тогда это просто вопрос наличия одного root маршрут (в вашем config/routes.rb), что-то вроде application#welcome. Затем в этом действии контроллера вы можете проверить if current_user.admin? и redirect_to либо в своей панели администратора, либо на странице индекса ваших элементов.

...