Domanda

Ecco uno snippet del mio codice dalla mia classe di abilità

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

Sono sicuro che puoi capire cosa sto cercando di fare qui. Mi rendo conto che Destroy è incluso nella gestione e mi sto ripetendo lì. Eventuali suggerimenti?

MODIFICARE La risposta di Yjerem è stata quella corretta e l'ho appena cambiata per adattarsi al mio codice. Questo è quello che sembra.

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

Come ha anche detto Yjerem, a Cancan, l'abilità la precedenza afferma che l'abilità ha definito più in basso Trump quelli su di loro in modo che un amministratore possa gestire tutto tranne ciò che è definito sotto di esso usando il codice sopra.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top