ActionController :: InvalidAuthenticityToken - PullRequest
127 голосов
/ 29 июля 2010

Ниже приведена ошибка, вызванная формой в моем приложении на Rails:

Processing UsersController#update (for **ip** at 2010-07-29 10:52:27) [PUT]
  Parameters: {"commit"=>"Update", "action"=>"update", "_method"=>"put", "authenticity_token"=>"ysiDvO5s7qhJQrnlSR2+f8jF1gxdB7T9I2ydxpRlSSk=", **more parameters**}

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):

Это происходит для каждого не get запроса, и, как вы видите, authenticity_token есть.

Ответы [ 19 ]

2 голосов
/ 22 ноября 2016

У нас была такая же проблема, но мы заметили, что это было только для запросов, использующих http: //, а не с https: //.Причина была secure: true для session_store:

Rails.application.config.session_store(
  :cookie_store,
  key: '_foo_session',
  domain: '.example.com',
  secure: true
)

Исправлено с помощью HTTPS ~ везде:)

0 голосов
/ 22 июня 2018

Я проверил наличие <% = csrf_meta_tags%> и у меня сработало удаление файлов cookie в браузере.

0 голосов
/ 15 марта 2017

Возможно, у вас есть настройки NGINX для HTTPS, но ваши сертификаты недействительны?У меня была похожая проблема в прошлом, и перенаправление с http на https решило проблему

0 голосов
/ 26 июня 2011

Проблема решена снижением до 2.3.5 с 2.3.8.(а также печально известная проблема «Вас перенаправляют».)

0 голосов
/ 06 декабря 2016

У меня была такая же проблема на localhost. Я изменил домен для приложения, но в файле URL-адресов и хостов все еще был старый домен. Обновил закладки моего браузера и файл hosts для использования нового домена, и теперь все работает нормально.

0 голосов
/ 11 октября 2018

Следуя рекомендациям Chrome Lighthouse для ускорения загрузки приложения, я установил свой Javascript:

views/layout/application.html.erb

<%= javascript_include_tag 'application', 'data-turbolinks-track' => 'reload', async: true %>

Это сломало все и привело к ошибке Token для моих удаленных форм. Удаление async: true исправило проблему.

0 голосов
/ 14 февраля 2015

У меня была эта проблема, и причина была в том, что я скопировал и вставил контроллер в свое приложение.Мне нужно было изменить ApplicationController на ApplicationController::Base

0 голосов
/ 31 октября 2018

Добавить

//= require rails-ujs 

в

\app\assets\javascripts\application.js
0 голосов
/ 16 ноября 2015

Установка

gem 'remotipart' 

может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...