2014-04-21 8 views
1

나는 the docs을 확인하지만 글로벌 역할이 1 개 더 많은 경우에만 작동합니다. 전역 역할없이 여러 역할 검사를 수행하려면 어떻게해야합니까?rolify 여러 역할 검사는 항상 1 개의 글로벌 역할을 추가해야합니까?

user.add_role :admin 
user.add_role(:user, group) 
user.add_role(:mentor, group) 
user.has_all_roles? :admin, {:name => :mentor, :resource => group} 
=> true 
user.has_all_roles? {:name => :mentor, :resource => group}, {:name => :user, :resource => group} 
=> SyntaxError: (irb):27: syntax error, unexpected =>, expecting '}' 
user.has_any_role? :admin, {:name => :mentor, :resource => group}, {:name => :user, :resource => group} 
=> true 
user.has_any_role? {:name => :mentor, :resource => group}, {:name => :user, :resource => group} 
=> SyntaxError: (irb):30: syntax error, unexpected =>, expecting '}' 

답변

2

매우 짜증나지만 간단하게 해결되었습니다. 내가 ...이 메서드 호출에 블록을주는거야 그리고 당신이 원하는 것을 분명히 아니다 : 이유는

user.has_all_roles? {...} 

를 작성하여 당신이 루비를 말할 것입니다.

간단한 수정 : 당신의 메서드 호출에 괄호를 추가 : 그것은 잘 작동

user.has_all_roles?({...}) 
+0

. 감사!! –