Rails Can Can Ability Class для нескольких моделей Devise

Мне было интересно, как я могу определить класс способностей и использовать этот класс способностей в зависимости от пользователя, который вошел в систему.

Я использую 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?

10
задан yretuta 26 October 2011 в 02:21
поделиться