HippoBlog
Web開発に関する備忘録や
日々の雑記ブログ
  • #Ruby on Rails
  • 2019年7月18日
ENTRY TITLE

[rails] axios/postで422 Unprocessable Entityエラー

TEXT BY @hippohack@hippohack
TEXT BY @hippohack@hippohack
  • このエントリーをはてなブックマークに追加

CSRFトークンを発行せずにPOSTした際に弾かれる。

[log]

Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity

パラメータにトークンを付与する

import axios from 'axios';
axios.defaults.headers.common = {
    'X-Requested-With': 'XMLHttpRequest',
    'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
};

他の対応

CSRFプロテクションを無効化して対応もできるがよくない。

[config/environments/development.rb]

Rails.application.configure do
    ︙
    config.action_controller.allow_forgery_protection = false
    ︙
end

参考

rails ajax 422 Unprocessable Entity


最後までお読みいただき、ありがとうございました。

ご意見などありましたら@hippohackへDMをお願いいたします。

  • このエントリーをはてなブックマークに追加