답변:
모든 것을 지우려면 컨트롤러에서 reset_session 메소드를 사용하십시오.
reset_session
이 방법에 대한 설명서는 다음과 같습니다. http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
저장된 모든 개체를 지우고 새 세션 개체를 초기화하여 세션을 재설정합니다.
행운을 빕니다!
rails의 session은 해시 객체입니다. 따라서 해시 지우기에 사용 가능한 모든 기능은 세션에서 작동합니다.
session.clear
또는 특정 키를 폐기해야하는 경우 :
session.delete(key)
레일 3.2에서 테스트
추가
사람들이 언급 한 session={}
것은 나쁜 생각입니다. 관련하여 session.clear
, Lobati 그것은이 session.clear가하는 것 이상으로 다른 청소를하지 당신이 더 나은 [session.clear보다] reset_session를 사용하여 떨어져 아마 것처럼 보이는 의견 -. 내부적으로 reset_session는 session.destroy 호출 , 그 자체가 아니라 다른 물건을 명확 호출합니다.
reset_session
다른 것을 정리하는 것보다을 사용하는 것이 더 나을 것 같습니다 session.clear
. 내부적으로 reset_session
호출session.destroy
하는 자체가 호출 clear
다른 물건뿐만 아니라 .
이 코드를 ApplicationController에 추가하십시오.
def reset_session
@_request.reset_session
end
(내 문제를 해결했을 때 위의 아무도이 코드를 언급하지 않는 이유를 모르겠습니다) http://apidock.com/rails/ActionController/RackDelegation/reset_session
@_request.reset_session
하고 reset_session
둘 다 일하고 아마도 똑같은 일을합니까?