RailsでPOSTしたらInvalidAuthenticityTokenエラー

やりたいこと

 

Ruby on Railsでフォーム送信からPOSTを送信したい

ルーティング

 

こんな感じ、src1のフォームから、POST送信でsrc2へ飛ぶ

 

Rails.application.routes.draw do
get '/src2', to: 'plans#src2'
post '/src2', to: 'plans#src2'
root 'plans#src1'
end

 

ビュー

 

/src2へPOSTで飛ぶ

Screen Shot 2018-09-11 at 13.52.46.png




First name: Last name:

 

ActionController::InvalidAuthenticityToken in PlansController#src2

Screen Shot 2018-09-11 at 13.52.53.png

解決

 

CSRF保護が有効になってるらしい。CSRF保護を無効にするには、ApplicationControllerを次のように編集します。

 

class ApplicationController < ActionController::Base
protect_from_forgery with: :null_session

 

参考

 

Invalid Authenticity Token on Post

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

Ruby