Как вы даете пользователю разрешение с CanCan - PullRequest
0 голосов
/ 14 июля 2011

Я использую CanCan для разрешения пользователя.Я настроил его правильно и имею:

def initialize(user)
# Define abilities for the passed in user here. For example:
user ||= User.new # guest user (not logged in)

    if user.role? :admin
        can :manage, :all

    else        
        can :create, Post           
        can :read, Post
    end

    def role?(role)
        return !!self.roles.find_by_name(role.to_s.camelize)
    end

Мой вопрос заключается в том, как на самом деле дать пользователю роль, то есть сейчас все пользователи попадают в категорию "остальное" ... как мне сделать пользователясвязаться с: admin?

1 Ответ

2 голосов
/ 14 июля 2011

Простой способ сделать это - добавить атрибут role для вашего пользователя.

Тогда в вашей пользовательской модели:

def role?(arg)
  self.role.to_sym == arg.to_sym
end

И удалите метод role? в модели способностей, он вам не нужен для вашего примера.

...