Как в CanCanCan быть в такой ситуации, когда есть право редактирования своего профиля и отдельное право редактирования всех пользователей, то будет задавать таким образом:
can :update, User, id:
user.idcan :update, User if user.moderator?
Но в проверке будет такой код: can?(:update, User) и он будет обозначать все.
Как можно разделить эти права?