В настоящее время я делаю проект, используя devise и cancan.
Чтобы понять мою проблему, у меня есть следующие модели:
Пользователь с некоторыми атрибутами и логическим значением is_admin для глобального доступа
Роль принадлежит проекту и пользователю с определенными способностями для пользователя в каждом проекте
Проект has_many некоторые другие модели, которые пользователь может редактировать или нет (зависит от его роли в проекте)
Итак, мой вопрос: как я могу это сделать?
На самом деле у меня есть этот класс способностей:
class Ability
include CanCan::Ability
def initialize(user)
if user
can :read, :all # allow everyone to read everything
if user.is_admin?
can :manage, :all
end
end
end
end
Мне нужно управлять ролью в моделях, зависит от модели моего проекта или чего-то еще?
Заранее спасибо.