2012-07-30 2 views
0

저는 Active Admin 내의 AdminUsers 내에서 역할을 활용하고 있으며 CanCan을 사용하여 여러 리소스에서 액세스를 정의하고 있습니다.ActiveAdmin과 CanCan

액세스를 제한하는 것과 관련하여 잘 작동하지만 역할에 따라 메뉴를 숨기는 데 문제가 있습니다.

ActiveAdmin을 워드 프로세서에 따르면, 다음은 작동합니다 :

menu :if => proc{ can?(:manage, AdminUser) }  

을 내 ability.rb 모델 파일, 나는이 내가조차 할 수없는 추가

case user.role  
    when "admin" 
can :manage, :all 
cannot :manage, Company 
    when "manager" 
    can :manage, Program 
can :manage, Client 

: 관리, 관리 사용자 관리자 아래로 잘 명시 적으로 그것을 진술하기 위하여.

"관리자"역할로 로그인 할 때 AdminUser 메뉴를 숨기려고합니다. 현재는 여전히 해당 사용자에게 표시되지만 클릭하면 올바르지 않다고 올바르게 알립니다.

답변

0

나는 이것을 알아 냈다.

다음과 같이 나는 두 개의 메뉴 라인을했다 : 메뉴 => PROC이 경우 {할 수 있습니까? (: 관리, 관리 사용자)} 메뉴 : 라벨 => "사용자"

두 번째 줄 첫 번째 엉망했다 하나, 수정 됨 :

menu :if => proc{ can?(:manage, AdminUser) }, :label => "Users" 

올바르게 작동했습니다.