어디에서나 찾을 수없는 것 같습니다 … Rails에서 사용자 세션을 삭제 / 파기 / 재설정 / 빈 / 지우려면 어떻게해야합니까? 하나의 가치 만이 아니라 모든 것 ..
답변
모든 것을 지우려면 컨트롤러에서 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 호출 , 그 자체가 아니라 다른 물건을 명확 호출합니다.
답변
사용자 세션을 삭제하려면
session.delete(:user_id)
답변
특정 매개 변수 만 지우려면 다음을 사용할 수 있습니다.
[:param1, :param2, :param3].each { |k| session.delete(k) }
답변
이 코드를 ApplicationController에 추가하십시오.
def reset_session
@_request.reset_session
end
(내 문제를 해결했을 때 위의 아무도이 코드를 언급하지 않는 이유를 모르겠습니다)
http://apidock.com/rails/ActionController/RackDelegation/reset_session