2014-04-06 50 views
0

雖然偶爾和沒有任何意義,它會工作(但只是一次)。設計不會讓我登錄或退出(僅適用於Chrome)

如果我點擊退出,我得到這個:

Started GET "https://stackoverflow.com/users/sign_out" for 127.0.0.1 at 2014-04-06 11:30:13 +0200 
Processing by Devise::SessionsController#destroy as HTML 
Redirected to http://love.website.dev/ 

然後,如果我可以把它的東西登錄一側的數收益如下:

Started POST "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2014-04-06 12:15:00 +0200 
Processing by Devise::SessionsController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"o8Gb8iJc0hsecretm3EXkwgLnkcSPc6c/iAi8Q=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"} 

Redirected to http://love.mywebsite.dev/ 
Completed 302 Found in 306ms (ActiveRecord: 0.0ms) 

你要知道,這適用於IE,Firefox和Safari ..只是Chrome有這個問題。

我也跟着通過制定一個線索,發現這條線在我sign_in_out.rb:72

users = Devise.mappings.keys.map { |s| warden.user(scope: s, run_callbacks: false) } 

將返回:

> [nil] 

嗯..所以它原來監獄長沒有創建一個會話變量..

> session 
-> {} 

但我使用Firefox:

=> {"warden.user.user.key"=>[[1], "$2a$10$eGalHPmX4ab32HR0VHwHP."], 
"flash"=> 
    #<ActionDispatch::Flash::FlashHash:0x007fb8cbad3fc8 
    @closed=false, 
    @flashes={:notice=>"Signed in successfully."}, 
    @now=nil, 
    @used=#<Set: {:notice}>>} 

任何想法?

回答

0

真的很奇怪的答案。對不起,這太奇怪了。但是我發現,如果我只是改變我傳遞的密鑰(是的,我已經用相同的應用程序成功使用了四年),那麼它就可以工作。

MyApplication.config.session_store :active_record_store, 
       :key => '_new_superfluously_named_session', 
相關問題