저는 여기를 잃었습니다.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
당신에게 일을 시도했다 당신이 Devise의 파괴 논리를 무시하지 않았다고 말하지만, 당신이 Devise에서 다른 것을 무시한 적이 있습니까? –
나는 최후의 수단으로 Devise 만 덮어 씁니다. 나는 보통 그것으로 일하려고 노력한다. –
OMFG ... 나는 똑같은 어리석은 짓을했다 (복사와 붙여 넣기의 위험) – kitwalker