我是Rails世界的初学者,所以希望我能在这里找到答案。 我正在开发的项目必须具有角色的用户授权,适用于简单用户和管理员。使用管理员权限,我希望能够为简单用户重置密码或为其添加角色。
我试图将Devise与cancancan宝石一起使用,但不幸的是,它无法使其工作,我不确定这是否可行。所以我的问题是你会推荐哪些宝石有这样的行为。或者从头开始更简单?
感谢您的回答。
答案 0 :(得分:1)
听起来你会从Rolify Gem中受益:Why is Glimpse still running。我非常确定CanCan是基于角色的访问控制。我猜你已经看过这个RailsCast:https://github.com/RolifyCommunity/rolify但是看起来你缺少的是Rolify。它是一颗伟大的宝石,非常易于使用。
答案 1 :(得分:0)
我使用了Pundit和Devise
This is the repo to the application
添加gem和bundle。运行rails g pundit:install
它将生成一个包含application_policy.rb文件的策略文件夹。在那里,您可以为操作定义条件。假设您要确保用户的角色是admin以查看应用程序索引
def index?
user.role == "admin"
end
如果要为其他资源创建策略,请说帖子。您必须在policies文件夹