권한이없는 사용자가 일부 속성을 편집하지 못하도록 current_user의 역할을 검사하는 도우미를 만들었습니다.레일 콘솔에서 Cancan 역할 검증을 우회
유효성 검사는 콘솔에있을 때와 별개로 유효합니다. 물론 한 사용자가 없습니다하지만 여전히 유효성을 확인하려고 내가 얻을 :
NoMethodError: undefined method `has_role?' for nil:NilClass
어떻게이 검증을 우회하거나 내가 뭘하는지 달성하기 위해 더 나은 방법은 무엇입니까?
위치 모델 :
validate :check_archived_status, :on => :update
def check_archived_status
unless UserHelper.staff
if self.archived == false
if stuff == otherstuff
do some other stuff
end
end
end
end
UserHelper : 콘솔에 어떤 임의의 사용자와의
def self.staff
staff = User.current_user.has_role?('Super', 'Admin', 'Tech')
end
콘솔에 임의의 사용자로'current_user'를 채울 수 없습니까? 'current_user = User.last'이므로 유효성 검사로 인해 오류가 발생하지 않습니다. – MurifoX
저는 며칠 동안 해결책을 찾지 못했으며, 이는 세계에서 가장 쉬운 해결책입니다! 당신은 그것을 받아 들일 수 있도록 대답으로 밀어 넣을 수 있습니까 ?? – simonmorley
답변으로 추가되었습니다. =] – MurifoX