ハマったこと
下記のようにdeleteリクエストを指定して送信したがGETメソッドになってしまう。
_header.html.erb
<%= link_to "Log out", logout_path, method: :delete %>
出たエラーメッセージ
Routing Error
No route matches [GET] "/logout"
原因
どうやらブラウザからDELETEリクエストを送ることができないみたいです。
対策
link_toメソッドではなく、button_toメソッドで解消できるみたいです。
もっといいやり方ないんだろうか、、、
ruby _header.html.erb
<%= link_to "Log out", logout_path, method: :delete %> # 削除した
<%= button_to "Log out", logout_path, method: :delete %> # 追加した
button_toタグを使用すると、生成されるHTMLによりデザインが変わってしまいます。
jsを正しく、読み込めばlink_toメソッドのままdeleteリクエストを送れるみたいです。
参考にした記事
railsのdeleteリクエストについて納得できない
理由も乗ってます。