Мне было интересно, как я могу определить класс способности и служить этому классу способностей в зависимости от пользователя, который вошел в систему.
Я использую 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
Но то, что я хотел сделать, - иметь возможность использовать способность .rb, если "пользователь, не являющийся администратором", подписан и пользовательский атрибут, если пользователь зарегистрирован.
Боковой вопрос. Может ли это быть сделано так, что мне не нужен пользовательский, и я могу установить разрешения в одном файле..rb?