Question

Voici un extrait de mon code de ma classe de capacité

if user.admin?
      can :manage, :all
      can :destroy, :all if != current_user

Je suis sûr que vous pouvez comprendre ce que j'essaie de faire ici. Je me rends compte que Destroy est inclus dans Manage et je me répète là-bas. Aucune suggestion?

ÉDITER La réponse de Yjerem était la bonne et je l'ai juste changé pour s'adapter à mon code. Voilà à quoi ça ressemble.

 if user.admin?
      can :manage, :all
      cannot :destroy, User, :id => user.id

Comme Yjerem l'a également dit, à Cancan, la priorité des capacités indique que la capacité définie plus bas vers le bas de Trump les sur eux afin qu'un administrateur puisse gérer tout sauf ce qui est défini en utilisant le code ci-dessus.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top