代码之家  ›  专栏  ›  技术社区  ›  RubyRedGrapefruit

Rails can can:难道CanCan不认为我可以:读如果我可以:更新?

  •  0
  • RubyRedGrapefruit  · 技术社区  · 14 年前

    这是授权的!呼叫

    can [:read,:update], brand
    

    但是当能力类中的行更改为:

    can :update, brand
    

    品牌不是零。

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

    我只想知道这是不是故意的,或者我是否遗漏了什么。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Greg Dan    14 年前

    这是故意的。仅定义了几个默认别名:

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

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

    无论如何你可以 define 你自己的别名很简单。

    推荐文章