2014-04-24 2 views
0

나는 임의의 세션을 session_id에 의해 파괴해야하는 보석을 쓰고 있습니다. 레일즈 : session_id로 세션을 삭제하십시오.

현재 나는 다음과 같은 코드

case Rails.application.config.session_store 
when ActionDispatch::Session::CacheStore 
    Rails.cache.delete("_session_id:#{session_id}") 
when ActionDispatch::Session::ActiveRecordStore 
    ActiveRecord::SessionStore.session_class.find(session_id).destroy 
when ActionDispatch::Session::CookieStore 
    # cannot remove a client-storage session 
end 

을 사용하고 있습니다하지만 모든 SessionStorage 클래스 destroy_session(env, session_id, options) 방법을 발견했습니다. 스크립트에서이 메서드를 호출하려면 어떻게해야합니까? (안 요청 또는 컨트롤러)

답변

0

당신은 DB에 세션을 저장하는 경우, 당신은 당신의 콘솔에서이 시도 할 수 있습니다 :

rake db:sessions:clear 

당신은 또한에서 다음과 같이 전체 세션을 파괴 할 수 있습니다 컨트롤러 :

reset_session 
+0

죄송합니다. 나는 현재 session_id에 의해 임의의 세션을 파괴 할 필요가있는 보석을 작성하고있다. 그래서'ActionDispatch :: Session :: CacheStore # destroy_session'과 같은 메소드를 호출하고 싶습니다. 그러나 나는 그것을 어떻게 부르는 지 모른다. –

관련 문제