あっという間の十年ブログ【Ruby篇】

"詮ずるところ#{プログラミング}は、ただ年月長く倦まずおこたらずして、はげみつとむるぞ肝要にて、学びやうは、いかやうにてもよかるべく、さのみかかはるまじきことなり。いかほど学びかたよくても、おこたりてつとめざれば、功はなし。また、人々の才と不才とによりて、その功いたく異なれども、才不才は、生まれつきたることなれば、力に及びがたし。されど、大抵は、不才なる人といへども、おこたらずつとめだにすれば、それだけの功は有る物なり。" - 本居宣長

RailsとJavaScript(メモ)

Railsチュートリアル10章

ブラウザはネイティブではDELETEリクエストを送信できないため、RailsではJavaScriptを使って偽造します。つまり、JavaScriptがオフになっているとユーザー削除のリンクも無効になるということです。JavaScriptをサポートしないブラウザをサポートする必要がある場合は、フォームとPOSTリクエストを使ってDELETEリクエストを偽造することもできます。こちらはJavaScriptがなくても動作します 。
注)詳しくはRailsCastの "JavaScriptを使わない削除" (英語) を観てください。

JavaScriptの入れ方わからんから、DELETE使うやつは飛ばしてこ…。
(なおRails 7.0.4)

#これだとdeleteではなくget扱いになる
<%= link_to "Log out", logout_path, method: :delete } %>
#調べてみたらturboの書き方でいけるとあったけど、だめだった。
<%= link_to "Log out", logout_path, data: { turbo_method: :delete } %>
#buttonならいけるので、これで妥協。(Railsチュートリアルのスタイルシートがボタンの所だけ変な感じになるが…)
<%= button_to "Log out", logout_path, method: :delete %>

link_toからbutton_toに変えたので、テストのassert_selectもa[href=?]から[action=?]に変えておく。
チュートリアルで一番てこずったが、立ち止まって、こういう試行錯誤をするなかで理解が進んでいっている)