2017-06-12 20 views
2

私はレールの中でActionController::InvalidAuthenticityTokenを取得しています。それはしばらくの間正しく動作していましたが、その後は動作を断念しました。ActionController :: InvalidAuthenticityToken in Rails 5

# Application Controller 
class ApplicationController < ActionController::Base 
    protect_from_forgery with: :exception 
end 

私は..

レールがヘルパーを形成使用して、私はHTMLで生成されたトークン信憑性を確認することができます

# price_history/new.html.erb 
<%= form_for @price_history_form, url: 'price_history' do |f| %> 
    ... 
<% end %> 

フォームオブジェクトを渡し、およびコントローラに渡されています

class PriceHistoriesController < ApplicationController 

なぜこのようなことが起こっているのですか?何かご意見は?

+0

を開始するために必要なあなたはそのエラーを取得していますか?それともあなたはいつもそれを得ていますか? –

+0

こんにちは@AlexanderLunaはすべてのフォーム提出を今すぐ行います。私はサーバを何度も再起動し、ブラウザを閉じました。 – mark

+0

@markあなたはこれを理解しましたか?そのような場合は、あなた自身の答えを提出するか、正しい答えを記入して、同じ問題に取り組む他の人が解を簡単に見つけることができるようにしてください。 – OneNeptune

答えて

2

ターボリンクを無効にしてみてください。どのバージョンのRailsを実行していますか?

助け無効turbolinksについては、こちらを参照してください:How to disable turbolinks in Rails 5?

1

問題が:urlオプションです。

https://github.com/rails/rails/issues/24257

はどうやら、この問題に対する2つの解決策があります:あなたはそれを使用する場合は、このRailsの問題によれば、そのエラーが発生します

1)を無効Turbolinksフォームで('data-no-turbolink' => true

2)コントローラーの操作からリンクまたはフォームをレンダリングしてrender stream: trueを削除します

2

これを見つける可能性のある他の人には2つの問題があります。

ターボ'data-no-turbolink' => trueを追加し、リンクして、URL:どのような状況では/

関連する問題