这是一个基于this one that I had的更一般的问题(我意识到我所遇到的问题可能与我所遇到的特定问题无关(或者甚至可能与Devise相关)所以我认为我会尝试改写它。
基本上,如果用户打开了同一会话的多个选项卡并且他们注销了,那么他们可能会转到另一个选项卡中的其他位置,并且会将他们带到登录页面,因为他们的会话刚被杀死。问题似乎是浏览器网址没有更改为正确的用户登录网址。相反,url与用户刚刚尝试访问的URL相同。因此,当用户输入其凭据并点击登录提交按钮时,没有任何反应。
我认为这是因为登录页面正在呈现而不是重定向。如果我刷新页面,网址将更改为应该是什么,我可以按照正常情况登录。
如果有帮助,以下是我的路线:
devise_scope :user do
authenticated :user do
root to: "users#dashBoard", as: :authenticated_root, foo: 'dashBoard'
end
unauthenticated :user do
root to: "devise/sessions#new"
end
end
答案 0 :(得分:0)
答案就在我面前。我从应用程序中删除了Turbolinks并修复了问题。基本上,由于Turbolinks,它只是渲染页面而不实际重新加载任何东西(javascript文件等)。