如何在rails 6中使用acitve admin登录到管理员帐户和用户帐户?

问题描述 投票:0回答:1

我正在尝试创建具有以下三种模型的Rails应用程序Shopper:Category,Items和Buyers。每个类别可以有很多物品(has_many),每个买家可以购买很多物品(has_many)。该应用程序需要用户登录页面。我已经为我的应用程序(购物者)安装了ActiveAdmin和Devise gem。如何使用这些gem创建用于登录,注销和注册的表单。如果已登录的用户与管理员名称和密码匹配,则必须显示管理面板(活动管理员),您可以在其中创建,更新和删除类​​别和项目;如果已登录的用户不是管理员(买方),则必须显示应用程序中的“项目”页面,买方可以在其中选择项目。我该怎么办?

我尝试过此How do I use Devise and ActiveAdmin for the same User model?,但不适用于我的申请。

ruby-on-rails devise
1个回答
0
投票

虽然可以使用Devise验证不同的模型,但最适合您的情况的解决方案是为您的买方和管理员使用一个模型名称User。然后,在基础数据库表中添加一个布尔列admin,ActiveRecord将为该列自动在admin?模型上提供User方法。

然后,只有一个root路线(在您的config/routes.rb中),就像application#welcome一样。然后,在该控制器操作中,您可以在管理面板或项目索引页面中查看if current_user.admin?redirect_to

© www.soinside.com 2019 - 2024. All rights reserved.