2012-03-17 103 views
1

將我的rails項目升級到rails 3.2.2和Devise 2.0.4後,我無法再註銷。我沒有遇到this issue;相反,單擊註銷不會使我處於註銷狀態,用戶對象仍然有效,並且仍然存在current_user。以下是我的日誌中的內容:升級到Rails 3.2.2和Devise 2.0.4之後,註銷並不會破壞會話

Started DELETE "https://stackoverflow.com/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個字符)。

任何人都可以解釋這種行爲嗎?

謝謝!

回答

0

我認爲這與Pre-Devise 2.0.4會話cookie有關。當我在我的Chrome中打開「隱身」時,它會按預期工作。

+0

你是如何解決它的非隱身? – Trip 2014-04-05 01:50:32