Rails 7でのlink_to削除時にturbo_confirmで確認ダイアログを表示する方法

開発中に遭遇した不具合の解消方法を調査したので、備忘録も兼ねて投稿します。

環境

ruby: 3.2.2 rails: 7.0.6

Rails 7での削除リンクの振る舞いの変更

link_toを使用して、掲示板の各項目を削除するリンクを作成する場合、turbo_method: :deleteを使用しないと、期待通りの動作をしません。

- <%= link_to '削除', board, method: :delete %>
+ <%= link_to '削除', comment, data: { turbo_method: :delete  } %>

詳細は以下のブログをご参照ください。

tatsuki-ju.hatenablog.com

これに併せて、data: { confirm: 'Message' }のような確認ダイアログも動作がしないようで、書き方を変える必要があるようです。

確認ダイアログの表示方法

前述の通り、従来のdata: { confirm: 'Message' }のようなJavaScriptの確認ダイアログが動作しない場合、turbo_confirmを使用して確認ダイアログを表示することができるようです。

turbo_confirmの基本的な使用方法は以下のようになります:

<%= link_to '削除', board, data: { turbo_method: :delete, turbo_confirm: '削除してもよろしいですか?' } %>

このdata: { turbo_confirm: 'Message' }を追加するだけで、リンクをクリックした際に確認ダイアログが表示されました。