2014-11-25 7 views
0

다른 속성 및 동작을 가진 두 가지 유형의 사용자 (클라이언트, 관리자)를 얻는 가장 좋은 방법은 무엇입니까?CanCanCan으로 여러명의 Devise 사용자 또는 한 명의 사용자 및 권한이 있습니까?

Devise에서 만든 두 가지 유형의 사용자가 있거나 하나의 사용자 모델 만 있고 CanCanCan을 통해 권한을 설정 했습니까?

감사

+0

사용자 역할에 속하고 역할은 많은 persmissions을 가지고 : 나는 여기에 접근하는 방법에 대한 자세한 응답을했다. – blelump

답변

1

만 사용 하나 사용자와 role_id 같은 특정 열을 사용자에게 역할을 할당합니다. 그러면 서로 다른 역할을 가질 수 있습니다. 각 역할은 서로 다른 ID로 이루어집니다.

admin = 1

standard = 2

당신은 다음과 같은 사용자의 방법을 정의 할 수 있습니다 :

def admin? 
    role_id == 1 
end 

와 캉캉에 해당처럼 사용할 수 있습니다

def initialize(user) HERE PERMISSIONS FOR NON LOGGED USERS if user HERE PERMISSIONS FOR LOGGED USERS if user.admin? HERE PERMISSIONS ONLY FOR ADMIN end end end

Rails> = 4.1을 사용하는 경우 해당 열에 대해 열거 형을 사용할 수 있습니다.