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}>>}
任何想法?