【问题标题】:Proper way to use CanCan+Rolify on Rails 4在 Rails 4 上使用 CanCan+Rolify 的正确方法
【发布时间】:2015-06-24 11:49:24
【问题描述】:

我只是想知道以最简单和最有效的方式使用 CanCan+Rolify 的正确方法是什么。

我的印象是,如果我有一个像下面这样的能力模型

user ||= User.new # guest user (not logged in)
if user.admin?
  can :manage, :all
else
  can :read, :all
end

我有一个资源,比如说,产品有

resourcify

声明,没有 :admin 角色的用户将无法创建、更新或删除此类资源...

但似乎需要更多代码来实现此行为,因为我进行了测试,并且非 :admin 用户能够删除和创建产品。

我错过了什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 cancan rolify


    【解决方案1】:

    尝试将 load_and_authorize_resource 设置为您的 Products 控制器(假设您希望 Products CRUDable 只能由某些用户角色进行)。

    【讨论】:

    • 我今天早上遇到了同样的问题,这对我帮助很大。
    • 我使用了 authorize_resource,因为我的控制器脚手架已经通过 def set_product 设置了 before_action,因此无需加载资源。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多