やりたいこと
削除ボタンに対して、Turboは無効化し、確認ダイアログは表示させたい。
しかし、 turbo_confirmを用いた実装ではTurboが無効化されているため、確認ダイアログの表示ができない。
また、GETリクエストを送るリンクであっても、Turboを無効化した上で確認ダイアログを出す、といったことはできません。なぜなら、Turboを無効化することで、turbo_confirm:オプションも無効化されるからです。
実装方針
JSを使って確認ダイアログを表示させます。
<%= button_to "削除する", reservation_path(reservation), method: :delete, data: { turbo: false }, form: { onSubmit: "return check()" } %>
function check(){
if(window.confirm('本当に削除しますか?')){
return true;
}
else{
window.alert('キャンセルされました');
return false;
}
}