这适用于授权!称呼
can [:read,:update], brand
但 CanCan::AccessDenied 在 Ability 类中的行更改为:
can :update, brand
品牌不是零。
如果我可以 :update 某些东西,我不应该自动 :read 吗?
我只是想知道这是设计使然,还是我在某处遗漏了什么。
这适用于授权!称呼
can [:read,:update], brand
但 CanCan::AccessDenied 在 Ability 类中的行更改为:
can :update, brand
品牌不是零。
如果我可以 :update 某些东西,我不应该自动 :read 吗?
我只是想知道这是设计使然,还是我在某处遗漏了什么。
这是设计使然。只定义了几个默认别名:
def default_alias_actions
{
:read => [:index, :show],
:create => [:new],
:update => [:edit],
}
end
因此,如果某人拥有“更新”权利,那么他就拥有“编辑”权利。这对于遵循 REST 风格的 Rails 应用程序来说是很自然的。
但是,您可以非常简单地定义自己的别名。