これが私の能力クラスからの私のコードのスニペットです
if user.admin?
can :manage, :all
can :destroy, :all if != current_user
私がここで何をしようとしているのか、あなたならきっと理解できると思います。破棄が管理に含まれていることに気づき、そこで繰り返しています。助言がありますか?
EDIT Yjeremの答えは正しいもので、コードに合わせて変更しました。これは、それがどのように見えるかです。
if user.admin?
can :manage, :all
cannot :destroy, User, :id => user.id
Yjerem も言ったように、cancan では、能力の優先順位は、下に定義された能力がそれらの上にあるものよりも優先されるため、管理者は上記のコードを使用してその下に定義されているものを除くすべてを管理できます。