在 Rails 4 上使用 CanCan+Rolify 的正确方法

Proper way to use CanCan+Rolify on Rails 4

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

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

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

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

resourcify

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

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

我错过了什么?

尝试将 load_and_authorize_resource 设置为您的 Products 控制器(假设您想让 Products 仅可由某些用户角色进行 CRUD)。