Rails 4 turbo-link阻止jQuery腳本工作我正在構建一個Rails 4應用程序,我有一些分散的js文件,我試圖包括“rails方式”。我將jquery插件移動到/ vendor / assets / javascripts中,并更新了清單(application.js)以要求它們。當我在本地加載頁面時,我看到它們正確顯示。但是,我從其中一個已編譯的腳本中獲得了不一致的行為。我有一個名為projects.js的特定于控制器的js文件,它通過以下方式在application.js中引用require_tree .://= require jquery//= require jquery_ujs//= require turbolinks//= require bootstrap.min//= require jquery.form.min//= require_tree .我看到文件被正確包含,并且它的工作時間有一半。另一半時間,projects.js中的東西似乎沒有做任何事情(它主要是jquery動畫和一些ajax請求)。當它不起作用時,我會點擊按鈕幾次,什么都不會發生,然后我會拋出這個錯誤:Uncaught TypeError: Cannot read property 'position' of null turbolinks.js?body=1:75當腳本處于各個視圖(錯誤的方式)時,這種情況從未發生過,所以我很確定問題不在于我的javascript代碼。另一個可能相關的細節是projects.js中的東西被包裝在一個$(document).ready(function(){。此外,我正在開發模式下進行測試,因此javascripts和css不會被資產管道組合。知道這里發生了什么嗎?我是Rails的新手,但我已盡力遵守所有慣例。更新!當我的項目腳本不起作用時,它是可預測的。第一頁加載每次都有效。然后我點擊一個鏈接到一個使用我的project.js行為的新頁面,第二個頁面永遠不會工作。我點擊幾次,最終拋出上面的錯誤。我仍然不確定為什么,但我懷疑這與渦輪連接有關。
Rails 4 turbo-link阻止jQuery腳本工作
米琪卡哇伊
2019-08-27 17:34:33