Мне было интересно, как я могу определить класс способностей и использовать этот класс способностей в зависимости от пользователя, который вошел в систему.
Я использую Active Admin, Can Can and Devise и я успешно создали модели User и AdminUser.
У меня есть это в моем capacity.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
if (user)
can :manage, Item
end
end
end
Теперь я использовал эту запись в вики, чтобы определить, что мы действительно можем определить собственный файл способностей и использовать его вместо способности .rb:
https: // github .com / ryanb / cancan / wiki / change-defaults
Но я хотел иметь возможность использовать возможность .rb, если "пользователь без прав администратора" вошел в систему, и настраиваемую возможность, если пользователь с правами администратора вошел в систему.
Дополнительный вопрос : Можно ли сделать так, чтобы мне не понадобился пользовательский, и я мог бы установить разрешения в одном файле capacity.rb?