1
Authlogic으로 인증을 구현하고 Acl9로 인증을 구현했습니다. 이제는 데이터베이스에 여러 개의 히트가 발생하지 않도록하여 사용자가 세션에이를 유지하여 관리자인지 확인하려고합니다.레일즈 - 세션에서 ACL9 캐싱
내가 생각하는이 코드가 작동해야한다는 것입니다 :
class ApplicationController < ActionController::Base
...
helper_method :current_user_session, :current_user, :is_admin
...
private
def is_admin
return current_user_session[:is_admin] if defined?(current_user_session[:is_admin])
current_user_session[:is_admin] = current_user.has_role?(:admin)
end
을 그래서 기본적으로 첫 번째 호출에 도우미 메서드를 is_admin하기 위해서는 session[:is_admin]
에 부울 값을 추가 한 다음 다른 통화에서 그것을해야 세션. 그러나이 오류 메시지가 나타납니다.
undefined method `[]=' for #<UserSession: {:unauthorized_record=>"<protected>"}>
나는 여기에 붙어 있습니다. 내가 도대체 뭘 잘못하고있는 겁니까?