0

这适用于授权!称呼

can [:read,:update], brand

但 CanCan::AccessDenied 在 Ability 类中的行更改为:

can :update, brand

品牌不是零。

如果我可以 :update 某些东西,我不应该自动 :read 吗?

我只是想知道这是设计使然,还是我在某处遗漏了什么。

4

1 回答 1

1

这是设计使然。只定义了几个默认别名:

def default_alias_actions
  {
    :read => [:index, :show],
    :create => [:new],
    :update => [:edit],
  }
end

因此,如果某人拥有“更新”权利,那么他就拥有“编辑”权利。这对于遵循 REST 风格的 Rails 应用程序来说是很自然的。

但是,您可以非常简单地定义自己的别名。

于 2010-11-10T21:12:15.047 回答