2011-03-18 3 views
6

devise가 통합 된 레일 앱이 있습니다. Cookie Store 세션을 사용하고 있습니다. 예를 들어 누군가가 로그인 할 때마다 세션에 일부 데이터를 저장해야합니다. 그들의 사용자 ID. 어떻게 Devise로 그렇게 할 수 있습니까?레일 및 장치 - 세션 데이터에 액세스

내가 할 수있는 우아한 방식이있을 수 있으며 Devise 자체에서 액세스 할 수 있습니다.

감사합니다.

답변

8

컨트롤러 내부에서 "세션"변수를 사용할 수 있습니다. 비슷한 것 session[:some_value] = "some_value"

또한 Devise는 이미 세션에 저장된 user_id를 가지고 있습니다. 여기서 current_user 도우미 메서드를 사용할 수 있습니다.

또한이 글을 읽으면서 세션에 저장할 내용에 대한 세부 정보를 확인하십시오. http://guides.rubyonrails.org/security.html

쿠키 세션 저장소는 일반적으로 크기가 4KB 밖에 없으므로 많은 데이터를 저장할 수 없으므로 앱이 오류를 시작합니다.

+2

이것은 나를 위해 작동하지 않습니다. 로그인 한 상태에서도 내 세션이 없습니다. 다른 아이디어? – Corey

+0

세션이 만료 될 때 정보를 얻는 방법? –

관련 문제