結論から
data:{turbo: false} を加えてください。
例
<%= link_to "リンク", some_path, data: { turbo: false } %>
<%= form_with model: @model, data: { turbo: false } do |form| %>
原因
Rails7ではTurbo(以前はHotwireとも呼ばれていました)がデフォルトで有効になっており、これが悪さをしています。
とはいえ、基本はTurboを否定する必要はないので、javascriptが関わる部分だけ上記の記述をしましょう。
別の方法
アプリ全体でTurboを無効にする
application.js
- import "@hotwired/turbo-rails"
+ import { Turbo } from "@hotwired/turbo-rails"
+ Turbo.session.drive = false
ちなみに意味がない方法
■ document.addEventListener("turbo:load", function() {})
⇒ "turbo:load"を"load"にしてみる
turboの記述は、あってもなくてもデフォルトで有効になります。