Tag: cancancan

Rails Cancan:在注册时定义默认角色

我最近使用CanCanCan(通过枚举)为我的rails应用程序添加了角色 – 但现在我想在注册时添加默认角色。 我该怎么做呢? 它是在控制器还是模型中? 我的用户型号: class User < ActiveRecord::Base #Defining different roles enum role: [:Admin, :User, :Guest] #Users can only create one scholarship application has_one :applications # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable end 我的能力模型 – 只有三个角色,一个管理员,我将通过为一个角色为1的用户播种数据库来创建,然后其他人应该在注册时为2: class Ability include […]

RoR:CanCanCan仅授权用户创建的项目

这段代码有什么问题? 普通用户仍然可以看到所有的关系,当他应该只看到他自己的。 我的观看代码: 我的Ability课程: can :manage, :all if user.role == “admin” if user.role == “normal” can :read, Relato , :user_id => user.id can :manage, Relato, :user_id => user.id end

无法生成cancan:能力

在ruby on rails gemfile中我添加了gem’cancancan’,’〜> 1.10’,然后运行bundle install并在之后使用rails g cancan:ability。 这是我在我的控制台中得到的 Running via Spring preloader in process 3455 Expected string default value for ‘–test-framework’; got false (boolean) Expected string default value for ‘–jbuilder’; got true (boolean) Expected boolean default value for ‘–markerb’; got :erb (string) Expected string default value for ‘–test-framework’; got false (boolean) Expected string default […]

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

我是Rails世界的初学者,所以希望我能在这里找到答案。 我正在开发的项目必须具有角色的用户授权,适用于简单用户和管理员。 使用管理员权限,我希望能够为简单用户重置密码或为其添加角色。 我试图将Devise与cancancangem一起使用,但不幸的是,它无法使其工作,我不确定这是否可行。 所以我的问题是你会建议哪些gem有这样的行为。 或者从头开始更简单? 谢谢您的回答。

Parano和CanCanCan之间的Rails 5兼容性受损?

我遇到与此主题中描述的完全相同的问题: Rails 5 only_deleted with cancancan#356 我可以访问已删除的记录,如下所示: @area = Area.only_deleted.find(params[:id]) 但如果我将load_and_authorize_resource添加到我的控制器,它将尝试运行这样的查询: @area = Area.find(params[:id]) 这将导致错误,因为它不会在lost_at不为null的集合中找到具有该id的记录(未删除记录,Paranoia gem的目的)。 如果我为控制器禁用load_and_authorize_resource或执行该操作,它会解决错误,但它不是解决方案,因为这意味着失去授权控制。 有没有解决这个问题,或者是否有一个授权gem与Rails 5上的Paranoia很好用,我可以切换到? 谢谢。

如何在枚举字段中使用CanCanCan?

我得到了枚举字段enum status: [:pending, :done] 文章模型enum status: [:pending, :done] 。 这是我的能力档案 class Ability include CanCan::Ability def initialize(user) user ||= User.new if user.member? can :read, Article.done end end end 在视图中我试图为成员渲染Article.done集合但不是渲染渲染。 因此我有一个问题:在CanCanCan中有没有可能使用enum的方法?

如何使用cancancan?

我想在我的rails应用程序中为用户授予权限。 我有’admin’可以创建,更新和删除所有post和评论,’user’可以创建和更新他自己的评论,’guest“谁也可以不做这些。 为此,我使用了gem’设计’和’cancancan’。 我理解’设计’gem,但我不明白’cancancan’。 在class ability.rb中,如何为这些用户(admin,user,guest)写权限?