実現したいこと
Rails7では、デフォルトで hotwire/turbo が導入されており、link_to や button_to で有効になっています。
app/javascript/application.js
javascript
1import "@hotwired/turbo-rails"
この時、redirect_to の場合のみTurboを無効化するオプションは存在しますか?
発生している問題・分からないこと
button_to などでは、turbo_confirm を使用することで確認ダイアログを表示することができますが、
controller 上で別ページへリダイレクトされる際にも、TurboDriveが効いてしまいDOMの一部分しか書き換わりません。
遷移先のページにGoogleMapなどを利用していると、GoogleMapのロードに初期化に失敗したりと副作用が多いため、ページ全体をリロードするようにTurboを無効化したいです。
しかしbutton_toの時点でTurboを無効化してしまうと、Turboのダイアログも無効化されてしまい表示されません。
該当のソースコード
html.erb
1<%= button_to "Destroy", post_path(@post), method: :delete, data: { turbo: false, turbo_confirm: "Are you sure?" } %>
ruby
1# DELETE /posts/1 2def destroy 3 @post.destroy! 4 redirect_to posts_url, notice: 'successfully', status: :see_other 5end
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
form を生成する button_to ではなく link_to でも同様の現象が発生しております。
html.erb
1<%= link_to "Destroy", post_path(@post), data: { turbo_method: :delete, turbo_confirm: "Are you sure?" } %>
hotwired/turbo-rails の Github issues でも検索してみましたが、めぼしい結果は得られませんでした。
補足
特になし
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。