0


1

Rails CanCan:Ca n’t CanCan:私は:updateができるなら、読むことができると仮定できますか?

これは認証に有効です! call

can [:read,:update], brand
ただし、CanCan

AccessDeniedは、Abilityクラスの行が次のように変更されるとスローされます。

can :update, brand

ブランドはゼロではありません。

:updateできるのであれば、自動的に:readすることはできませんか?

これが仕様によるものなのか、どこかで何かが欠けているのかどうかを知りたいだけです。

1 Answer


1


これは仕様によるものです。 定義されているデフォルトのエイリアスはわずかです:

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

したがって、誰かが「更新」権限を持っている場合、「編集」権限を持っています。 これは、RESTスタイルに従うRailsアプリケーションにとっては自然なことです。

ただし、http://rdoc.info/github/ryanb/cancan/master/CanCan/Ability#alias_action-instance_method [define]独自のエイリアスを非常に簡単に作成できます。