ruby-on-rails – 如何使用cancancan?
发布时间:2020-12-17 02:47:54 所属栏目:百科 来源:网络整理
导读:我想在我的rails应用程序中为用户授予权限.我有’admin’可以创建,更新和删除所有帖子和评论,’user’可以创建和更新他自己的评论,’guest“谁不能做这些.为此,我使用了宝石’devise’和’cancancan’.我理解’设计’宝石,但我不明白’cancancan’. 在class
我想在我的rails应用程序中为用户授予权限.我有’admin’可以创建,更新和删除所有帖子和评论,’user’可以创建和更新他自己的评论,’guest“谁不能做这些.为此,我使用了宝石’devise’和’cancancan’.我理解’设计’宝石,但我不明白’cancancan’.
在class ability.rb中,如何为这些用户(admin,user,guest)写权限? 解决方法
Cancancan允许您仅定义给定上下文的权限.此上下文可能是一个用户角色,它不是cancancan的一部分,因此角色必须由您自己定义.
有多种方法可以定义用户角色,例如 >作为角色模型, 这完全取决于用例.可以在here找到如何定义能力的示例.在您的情况下,它看起来像: class Ability include CanCan::Ability def initialize(user) user ||= User.new if user.reviewer? #Just a logged user can :manage,Comment,{ owner_id: user.id } elsif user.admin? can :manage,:all end end end class User < ActiveRecord::Base enum role: [ :reviewer,:admin ] end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读