2012-05-28 3 views
0

아래 링크를 사용하여 active_admin으로 cancan을 구현했습니다. https://github.com/gregbell/active_admin/wiki/How-to-work-with-cancanCancan이 active_admin과 잘 작동하지 않습니다.

필자의 경우 유일한 변경 사항은 작성된 코드입니다. user.id.에 지금 바로 넣어 조건에 대한

class Ability 
    include CanCan::Ability 

    def initialize(user) 

    user ||= AdminUser.new # guest user (not logged in) 

    if user.id == 1 
     can :manage, :all  
     puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> manage all" 
    else 
     can :read, :all 
     puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> read all" 
    end 
    end 
end 

ability.rb 응용 프로그램/모델/ 내 응용 프로그램을 실행할 때 올바른 위치에 내 puts 볼 수 있습니다.

질문 :! 그래서

  • 내가 user.id whos는 사용자로 로그인하는 경우 = 1 그때도 내가 active_admin 내 모든 모듈을 관리 할 수 ​​있습니다. cancan 능력이 나를 위해 작동하지 않습니다.

: 루비, 0.4.4 ActiveAdmin을,

사용 레일 3.1.1, 캉캉 1.6.7 (짧은 내 캔에서 코드는 어떤 조건에서 작동하지 않습니다) 1.9.3

이어 링크의 명령이 올바르게 두 번 확인되었습니다.

AdminUser에서 사용 된 authorize_resource.

사기성이 아닌 사기성을 사용하면이 문제가 캔칸에 영향을 줍니까?

+0

"캉캉이 캉캉 잘 작동하지 않습니다"를 게시하기 전에

menu :if => proc{ can?(:manage, #ModelName) } controller.authorize_resource 

? – Chowlett

+0

죄송합니다. @Chowlett – chaitanya

+0

Cancan이 자체와 상호 운용되지 않는다고 말하는 것 같습니다. 나는 그것이 실제로 당신이 의미하는 것이 든, 오타를 만들 었는지 의문을 제기하고있었습니다. – Chowlett

답변

1

나는 당시 능력 모델에서 내 조건이 작업을 시작/관리자의 모든 모델에서 코드

에 따라 작성합니다. 난 그냥 단지 관리 사용자에 위의 코드를 작성이 질문에

관련 문제