내용추가.
이리저리 좀 더 상황을 지켜보니..
Devise의 문제가 아니라 Ruby 1.9.2 or Rails 3.1 의 버그인것 같다.
path를 못찾는 경우 에러를 내지 않고, 끝까지 찾는다. 끝까지!
------------
Devise를 붙이고 sign_out을 했는데 반응이 없다.------------
그러다가 몇초 후 내 맥도 반응이 없다.
Activity Monitor를 띄워보니, ruby 메모리 사용이 1.8G
응?
1.8G?
내눈을 의심하고 다시 봤는데 1.8G
가운데 .(점)만 빼면 욕이 되는 1.8G..
ㅡ.,ㅡ;
처음에는 84MB
sign_out누르니깐 몇초만에 1GB 돌파!!!
그대로 내비두면 4GB 메모리를 다 잡수실 기세라서 1GB넘는 시점에서 강제종료 해버렸다.
뭐가 문제인지 이리저리 추적을 해보니..
destroy 액션(sign_out)에서
sign_out_and_redirect
요 녀석이 의심스러워 이리저리 해보니, 역시나 이 녀석이 범인이었다.
문제는 redirect시 :root_path로 redirect하게 될 때가 있는데, 이때 :root_path를 찾지 못해 생기는 버그였다.
해결책은 크게 2가지가 있다.
1. :root_path를 만들어 주는 방법.
:root_path가 없어서 생기는 버그임으로, :root_path를 만들어 주면 된다.
routes.rb에 가서 주석처리된
# root :to => 'welcome#index'
을 주석을 풀어주고, :to는 각자의 상황에 맞게 수정을 해주면 된다.
root :to => 'getAway#Hi'
2. sign_out과 redirect를 따로따로.
sign_out_and_redirect
이 녀석이 하자다보니, 이 녀석을 안써버리면 그만이다.
직접 sign_out 시키고 상황에 맞게 redirect 하면 된다.
sign_out
redirect_to "넌 이미 아웃되었다."
'Ruby On Rails > 작은 팁' 카테고리의 다른 글
| brew가 실행은 되지만, 권한 문제로 실행이 안될때 (0) | 2012/03/16 |
|---|---|
| Mac Terminal에서 Home, End키 쓰기. (4) | 2011/07/12 |
| devise에서 sign_out시 서버가 기절할 경우. (Ruby Or Rails Bug인듯) (2) | 2011/06/15 |
| [1원팁] routes에서 as 사용하기. (0) | 2011/06/13 |
| Rails 3.1 Overview (2) | 2011/05/19 |
| TextMate 숨어있는 편집 기능 사용하기 및 단축키 몇가지 (0) | 2011/05/02 |
댓글을 달아 주세요
안녕하세요.
2011/10/30 18:51 [ ADDR : EDIT/ DEL : REPLY ]저는 root :to => "home#index"가 기본으로 풀려있어서 그런지,
아직 루비 devise 때문에 컴퓨터가 기절한적은 없습니다.
트랙백 걸려고 검색 하다 들어와서, 루비온 레일즈 관련 포스트 잘 읽고 가네요..:D
행복한 하루 되세요!
공부를 시작한지 얼마안된 초보인데,이렇게 많고 좋은 자료를
2012/04/26 23:26 [ ADDR : EDIT/ DEL : REPLY ]공유할수 있게 해주셔서 정말 감사드립니다..^^