Rails 4具有角色的身份validation模型

我是Rails世界的初学者,所以希望我能在这里找到答案。 我正在开发的项目必须具有角色的用户授权,适用于简单用户和管理员。 使用管理员权限,我希望能够为简单用户重置密码或为其添加角色。

我试图将Devise与cancancangem一起使用,但不幸的是,它无法使其工作,我不确定这是否可行。 所以我的问题是你会建议哪些gem有这样的行为。 或者从头开始更简单?

谢谢您的回答。

听起来你会从Rolify Gem中受益: https : //github.com/RolifyCommunity/rolify 。 我很确定CanCan是基于角色的访问控制。 我猜你已经看过这个RailsCast了: http: //railscasts.com/episodes/192-authorization-with-cancan但看起来你缺少的是Rolify。 它是一个伟大的gem,非常容易使用。

我使用了Pundit和Devise

这是应用程序的回购

添加gem和bundle。 运行rails g pundit:install它将生成一个带有application_policy.rb文件的策略文件夹。 在那里,您可以为操作定义条件。 假设您要确保用户的角色是管理员才能看到应用程序索引def index? user.role == "admin" end def index? user.role == "admin" end如果要为其他资源创建策略,请说post。 您必须在policies文件夹中创建post_policy.rb文件