問題
<%= link_to 'ログアウト', 'logout_path, method: :delete %>
のリンクをクリックすると
No route matches [GET] '/login'
が表示される。
↓
DeleteじゃなくてGetでリクエストが送られてしまっている。
↓
HTMLを確認すると、該当のaタグの中にdata-method="delete"
の記述は確認できる。
ググって見つけた解決策
以下はどれも変化なし
-
app/javascripts/packs/application.js
でjquery_ujs
を読み込む - headの中のjsファイル読み込み部分を修正する
- gem
jquery-rails
を追加する
応急処置
link_to
をbutton_to
に変えたらmethod: :delete
が効くようになりました。
でもやっぱlink_to
を使いたい。
うまくいった方法
$ yarn remove @fullhuman/postcss-purgecss
postcss-purgecss
という、導入したけど結局使わなくなったnpmライブラリを削除したら、method: :delete
が効くようになりました。