[Rails] 刪除時 confirm 跳出兩次以上的問題
前言
最近製作專案時,常發生按下刪除鈕,彈出好幾個確認視窗 “Are you sure?”,要按很多次才會真的刪除。 查了網頁原始碼,也沒發現重複載入的 javascript,在百思不得其解之下,只好一直亂 google,終於在 stackoverflow 討論串找到解決方式。
發生原因
此問題原來是在做 SEO 時,我將 javascript 放到 body 最後方,因為 turbolink 的關係,導致所有頁面都載入一次。
解決方式
兩種方式:
- 把 javascript 放回 head 中
- 將 javascript_include_tag 的部分做調整,如下
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
改為
<%= javascript_include_tag 'application', 'data-turbolinks-eval' => false %>.
- data-turbolinks-eval=false 的意思是希望這段 script 只在直接訪問的时候執行,Turbolinks.visit 訪問的時候不執行。
留言