2014-11-27 2 views
0

나는 보석 권한을 사용하고 있고, 과목 집합에 대한 사용자 권한을 관리하기 위해 사용하고있다. 각 주제는 해당 주제에 대해 :admin 역할이있는 경우에만 사용자가 볼 수 있습니다. 뷰에서 코드 : 권한 부여에레일스 권한 겉보기 불일치

<% if (current_user.has_role? :admin, @subject) %> 
     ADMIN 
    <% end %> 

    <% if @subject.readable_by?(current_user)%> 

    #some other code 

    <% end %> 

코드 :

class SubjectAuthorizer < ApplicationAuthorizer 
    # can the user view the subject? 
    def self.readable_by?(user) 
    user.has_role? :admin, @subject 
    end 

end 

내 문제는 ADMIN 부분은 페이지의 나머지 부분을 표시하지만,되지 않는 것입니다. 그러나 두 조건은 동일한 진리 값을 가져야합니다. 누구든지 실수를 발견 할 수 있습니까?

답변

2

@subject은 인증 기관에서 사용할 수 없습니다. 대신 resource을 사용해야합니다.