ruby-on-rails - Devis 注销错误 ActionController::InvalidAuthenticityTokenon 注销
问题描述
使用 Rails 6.0.3.6、ruby 2.7.2p137 和设计(4.7.3)。
当用户调用注销时,如果它是正常情况,它会很好地工作。但是相同的注销在条件下会出现错误:
如果用户已打开 2 个选项卡并从第一个选项卡注销并尝试从第二个选项卡注销,则会出现错误。
如果用户注销并单击浏览器后退按钮,然后再次单击注销按钮,则会再次导致错误。
请建议在项目中编码的过程,通过该过程用户被重定向到主路径,说明用户已经退出而不是给出错误。
Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 5ms (ActiveRecord: 0.5ms | Allocations: 3332)
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
注意: <%= csrf_meta_tags %> 标签已经存在于应用程序的布局中。
解决方案
有一个before_action :authenticate_user!
在你application_controller.rb
应该解决这个问题。
# application_controller.rb
class ApplicationController < ActionController::Base
before_action :authenticate_user!
...
...
end
推荐阅读
- java - How to link a JFrame class with another JPanel using JButton
- ms-access - Access 2010 报告的最后一个记录问题
- java - Android Studio - Click item in listview, get a value from that position
- mfc - 是否有自动化工具或技术可以让我读取 MFC 网格控件的内容
- gnupg - private-keys-v1.d 目录下的哪个私钥文件属于哪个密钥?
- typescript - 打字稿:无法访问命名空间接口
- angular - Angular 7(点击)不适用于 [hidden] 属性
- java - Hibernate - 在同一张表上映射多个外键
- spring-boot - WebLogic:球衣媒体多部分问题
- syntax - NetSuite 在 365 天内保存了多个订单的搜索客户保留组新客户