您好我一直在互联网上搜索以解决此问题,但无法找到解决方案。当我尝试销毁用户会话(以用户身份注销)时,我收到以下异常;
ActionDetroller :: Devise中的InvalidAuthenticityToken :: SessionsController#destroy
用户不是连续注销的情况。我尝试登录时没有使用cookie,我可以登录,但每次我尝试注销时都会抛出异常。
我正在使用Rails 4.1和Devise 3.4。任何形式的帮助将不胜感激。感谢所有出色的工作。
答案 0 :(得分:2)
由于csrf令牌过期或丢失,跨站点请求伪造失败。
修复1:检查您的<%= csrf_meta_tag%>在你的布局上显示。
您的布局应该具有类似
的内容<meta name="csrf-token" content="I+nZnT$#Twefelfjiself" />
或
修复2:在devise.rb上,将“删除”更改为“获取”
config.sign_out_via = :get
然后在您的观看中将链接更改为
<%= link_to "logout", destroy_user_session_path, method: :get %>