用户会话超时后无法立即登录(Devise Gem)

我遇到的问题是,如果我的用户会话超时(使用设计gem),我将尝试转到另一个屏幕,它将带我回到正确的登录页面。 但是,url不会从我尝试前往超时之前的页面更改。

所以例如,会话将结束,但如果那是我在超时之前的标题,我仍然会被带到这里: http://localhost:3000/users/edit

这个问题是它不允许我登录,直到我刷新页面 – 这改变了url: http://localhost:3000/users/sign_in

有任何想法吗?

编辑

该日志表示同一会话的两个不同浏览器选项卡。 前两段显示用户注销,最后两段显示当用户(看起来仍然在第二个选项卡上登录)尝试转到其他页面时的样子。 主要区别在于日志没有显示第二个选项卡的“Started GET”/ projects / messageChannel“”。 但是当我点击刷新时它会出现。 服务器日志如下:

 Started GET "/" for XXXXXXX at 2014-06-18 10:09:53 -0400 Processing by Devise::SessionsController#new as HTML Rendered layouts/_messages.html.erb (0.1ms) Rendered devise/sessions/new.html.erb within layouts/application (2.6ms) Rendered layouts/_navigation.html.slim (0.4ms) Completed 200 OK in 11ms (Views: 10.1ms | ActiveRecord: 0.0ms) Started GET "/projects/messageChannel" for XXXXXXX at 2014-06-18 10:09:53 -0400 Processing by ProjectsController#messageChannel as JSON Completed 401 Unauthorized in 1ms Started GET "/dashboard/2" for XXXXXXX at 2014-06-18 10:09:59 -0400 Processing by UsersController#dashBoard as HTML Parameters: {"foo"=>"dashBoard", "id"=>"2"} Completed 401 Unauthorized in 1ms Started GET "/users/sign_in" for XXXXXXX at 2014-06-18 10:09:59 -0400 Processing by Devise::SessionsController#new as HTML Rendered layouts/_messages.html.erb (0.1ms) Rendered devise/sessions/new.html.erb within layouts/application (2.3ms) Rendered layouts/_navigation.html.slim (0.4ms) Completed 200 OK in 11ms (Views: 10.1ms | ActiveRecord: 0.0ms) 

答案就在我面前。 我从应用程序中删除了Turbolinks,这解决了问题。 基本上,由于Turbolinks,它只是渲染页面而不实际重新加载任何东西(javascript文件等)。