railsでアプリをつくっています。
テーブルを削除する機能を作っていて、削除ボタンを押すとSweetAlertで確認ダイアログがでます。
確認ダイアログで「ok」が押されたら、DELETEメソッドを走らせて、レスポンスのステータスが200だったら
location.hrefで画面遷移させたいです。
javascript
1swal 2〜省略 3.then(result){ 4 if (result){ 5 res=fetch(url,method:'delete'); 6 if (res.status==200){ 7 location.href("users/?task=#{@task.id}"); 8 } 9 10 } 11}
ruby
1(コントローラ) 2def destroy 3 if @task.delete 4 render to status:200 5 else 6 render to status:400 7 end 8end 9
controllerで、削除する処理を書いて、画面遷移させようとredirect toを書いたのですが、fetchでDELETEをリスエストしたあとはridirect toがDELETEメソッドになってしまったため、このようにjsのほうに画面遷移させる処理を書きました。
結果は500エラーが返ってきて、解決できません。
まず、コントローラで削除できたらrenderで200を返したいのですが、書き方はあっているのでしょうか?
次にjsで画面遷移させる方法はあっているのでしょうか?
最後に、削除の際SweetAlertで確認ダイアログを出すときにfetchを使ってリクエストを飛ばしているせいで、コントローラで画面遷移ができないためjsで画面遷移させているのですが、他の方法があれば教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。