После обновления моего проекта rails до rails 3.2.2 и Devise 2.0.4 я больше не могу выйти из системы. Я не испытываю эту проблему ; вместо этого, щелчок по выходу из системы не оставляет меня в состоянии выхода из системы, пользовательский объект все еще действителен, и все еще есть current_user. Вот что в моих логах:
Started DELETE "/users/sign_out" for 127.0.0.1 at 2012-03-16 20:54:56 -0400
Processing by Devise::SessionsController#destroy as */*
Redirected to http://localhost:3000/
Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
Итак, все правильно. Я попытался переустановить устройство без удачи.
В моих попытках отладки я вставил строку:
= session.inspect
В мой шаблон. Я обнаружил следующее:
{"session_id"=>"XXXXXXXXXX4b2aa9600eb3bee9921e05", "warden.user.user.key"=>["User", [1], "$2a$10$3/l/XXXXXXXXXXdhS.KCRe"], "_csrf_token"=>"XXXXXXXXXXVSp805CEN8U+GA4FcSWupcVLPH1RoacE8="}
Session_id и _csrf_token будут меняться после каждой попытки выхода из системы, но warden.user.user.key не будет меняться. (Обратите внимание, что я вычеркнул первые 10 символов каждой строки).
Кто-нибудь может объяснить это поведение?
Спасибо!