레일을 사용하여 Rolify (자습서를 보려면 클릭하십시오) : can
메서드가 작동하지 않는 것처럼 보이므로 사용자 권한을 사용할 수 없게 만드는 이상한 문제가 발생합니다. 아래는 내 ability.rb
파일과 콘솔 출력이며 문제가있는 곳입니다.false를 반환하는 능력 굴리기
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.has_role? :admin
can :manage, :all
else
can :read, :all
end
end
end
콘솔 테스트 ($ rails console
는)
user = User.find(2)
user.add_role "admin"
user.has_role? :admin
=> **true**
ability = Ability.new(user)
ability.can? :manage, :all
=> **false**
ability.can? :read, :all
=> **false**
또한 데이터베이스에 확인하고 모든 관계가 올바르게 설정되어 있습니다. 나는 레일 3.2.13을 달리고있다.
'ability.can? '을 테스트 할 때': all' 대신 실제 모델이나 모델 클래스를 전달하려고 시도 했습니까? – PinnyM