Мне было интересно, как я могу определить класс способностей и обслуживать этот класс способностей в зависимости от пользователя, который вошел в систему.
Я использую Active Admin, Can Can и Devise, и я успешно создал модели User и AdminUser.
У меня это в умении. 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/changing-defaults
Но то, что я хотел сделать, это иметь возможность использоватьility.rb, если "пользователь без прав администратора" вошел в систему, и настраиваемую возможность, если пользователь-администратор вошел в систему.
Дополнительный вопрос: можно ли сделать так, чтобы мне не требовалось настраиваемое, и я мог бы установить разрешения в одном файле capacity.rb?