ruby-on-rails - Rails 4.2 至 5 更新 : Getting a "Can' t verify CSRF token authenticity. ”

标签 ruby-on-rails devise ruby-on-rails-5

我将 Rails 4.2 更新为 5。我按照此 article 进行操作

在第 3 步,它要求运行命令 rails app:update。此命令更改了所有(开发、测试、登台和生产)中的 secret_key_base。然而在生产中我通过变量设置secret_key_base。

当我推送更改并尝试登录时,我收到此无法验证 CSRF token 真实性。 错误,并且我无法登录。

我决定仅将 Secrets.yml 文件恢复到旧设置,但错误仍然存​​在。

知道哪里出了问题以及如何解决这个问题吗?

最佳答案

更改您的protect_from_forgery:

  protect_from_forgery with: :exception, prepend: true

Devise 自述文件对此进行了更好的介绍:https://github.com/plataformatec/devise#controller-filters-and-helpers

关于ruby-on-rails - Rails 4.2 至 5 更新 : Getting a "Can' t verify CSRF token authenticity. ”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409615/

相关文章:

ruby-on-rails - 当我需要模型关系时,我如何防止错误?

css - 从 Ruby/Rails 中的变量分配 CSS 类

ruby-on-rails - 使用 erb 渲染一个变量

ruby-on-rails - 在登录或注册后设计重定向回原始位置?

ruby-on-rails - Rails Devise 和用户 IP 地址

ruby - 将 Rails 从 5.1 升级到 5.2 后,我收到以下警告消息

ruby-on-rails - 远程登录到 Heroku postgres?

ruby-on-rails - Rails 3 + devise:如何使电子邮件确认链接使用安全的https(而非http)

ruby-on-rails - 显示关联记录索引 View

ruby-on-rails - 为引用自己表的外键创建 Rails 5 迁移