Rails CanCan:CanCan可以假设我可以:如果可以,请阅读:更新?

时间:2010-11-10 19:48:51

标签: ruby-on-rails ruby-on-rails-3 authorization declarative-authorization cancan

这适用于授权!调用

can [:read,:update], brand

但当Ability类中的行更改为:

时,会抛出CanCan :: AccessDenied
can :update, brand

品牌不是零。

如果我能:更新一些东西,我不应该自动地:读它吗?

我只是想知道这是不是设计,或者我是否遗漏某些地方。

1 个答案:

答案 0 :(得分:1)

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

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

因此,如果有人'更新',那么他就'编辑'了。这对于遵循REST风格的Rails应用程序来说很自然。

但是,您可以非常简单地define使用自己的别名。