Can't verify CSRF token authenticity.
What
Solution
ただ無効化する方法
Qiita等でよくあるやり方は、CSRFを無効化する方法です。
Railsのヘルパーを使っている場合は、トークンが発行されますが、コンポーネント化するために、生HTMLを使用すると、トークンが発行されず、上記の警告が出ます。
そのため、APIを使用しているコントローラーにて、CSRFを無効化すれば、解決するという発想です。
- protect_from_forgery
+ skip_before_action :verify_authenticity_token
[参考]
https://qiita.com/nishina555/items/4ffaf5cc57a384b66230
トークンを発行する方法
CSRFを無効化すると、何のためにトークンを付けてるのかなとなります。
axiosを使っているならば、任意のメソッドに以下を追記すれば、トークンを発行するため、上記エラーも解決します。
createPost: function(){ axios.defaults.headers.common = { 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content') }; ... axios.post(...){ ... }