2012-03-12 3 views
1

저는 여기를 잃었습니다.Devise에서 로그 아웃하면 내 사용자가 무효화됩니다.

  • 사용자가 하나의 콩과 식물, 과일 및 야채
  • : 나는 3 개 고안 범위 (콩과 식물, 야채, & 과일)

    나는 하나 개의 사용자 테이블과 콩과 식물, 과일, 그리고 야채 테이블을 참조하는이

  • 콩과 식물, 과일 및 야채는 사용자에 속하는

나는 3 개 범위의 2와 잘 밖으로 로그 아웃 할 수 있어요하지만 거기에 하나 개의 범위 내가 로그 아웃 (과일)입니다 내 사용자가에서 삭제됩니다 데이터 베이스. 로그 아웃 후에이 오류 메시지가 나타납니다. 실종

번역 : 여기

link_to "Logout", destroy_fruit_session_path, :method => "delete" 

이 로그의 출력 :

다음 코드를 사용하여 로그 아웃하고

을 en.devise.sessions.fruit.destroyed

2012-03-11 21:43:58 -0400에 127.0.0.1에서 "/ fruits/logout"삭제 시작됨 Processin g Fruits :: SessionsController #은 (는) HTML로 파괴합니다. 매개 변수 : { "authenticity_token"=> "2MwwcPF4NTWUUXDXiAh + v0B85CPNeUrW + R7S78FWo9E ="} 사용자로드 (0.8ms) SELECT "users". * FROM "users"WHERE "users". "id"= $ 1 [[ "id", 335]] (1.3ms) COMMIT (0) 사용자가 "사용자"로 지정한 위치에서 SQL (0.6ms) DELETE FROM "users" http://localhost:3000/fruit/login

으로 리디렉션되었습니다. 나는 그렇게 어리 석다 고 느낀다! !! 내 자신의 문제를 파악하고 꽤 당황 스럽네요 ...

내 SessionsController를 Devises의 SessionController로 재정의하는 대신 실수로 사용자를 삭제할 등록 컨트롤러로 덮어 쓰게됩니다.

나는

#incorrect!!! 
    class Fruits::SessionsController < Devise::RegistrationsController 

대신

#correct... 
    class Fruits::SessionsController < Devise::SessionsController 
+0

당신에게 일을 시도했다 당신이 Devise의 파괴 논리를 무시하지 않았다고 말하지만, 당신이 Devise에서 다른 것을 무시한 적이 있습니까? –

+0

나는 최후의 수단으로 Devise 만 덮어 씁니다. 나는 보통 그것으로 일하려고 노력한다. –

+0

OMFG ... 나는 똑같은 어리석은 짓을했다 (복사와 붙여 넣기의 위험) – kitwalker

답변

0

:method => :delete 

대신

:method => "delete" 
관련 문제