2

我正在使用Rails 3.2應用程序,但不知何故我的JavaScript代碼被執行兩次,我不知道爲什麼。Rails jQuery被調用兩次

我已經完成了對application.js文件的搜索,它只包含在我的資產文件夾中,不在我的公共文件夾中。我只有每個js文件的一個副本,所以它可能不應該歸因於資產管道。

這是我的application.js文件。

//= require jquery 
//= require jquery_ujs 
//= require jquery_nested_form 
//= require jquery.ui.all 
//= require myownjs 
//= require_tree . 

其實我已經做了幾乎相同的項目,而不jQuery的嵌套形式,不存在這個問題,所以我的直覺告訴我,這可能是由於寶石我使用的反覆,或由於調用我的代碼的順序我的JavaScript包括但我是新的網絡編程,我不知道,如果這實際上是有道理的。但是,我嘗試刪除嵌套表單所需的行,並沒有什麼區別。

有人可以幫助我通過建議錯誤可能是什麼?

這是另一個項目的application.js。

//= require jquery 
//= require jquery_ujs 
//= require jquery.ui.all 
//= require myowncodes 

//= require_tree . 

回答

4

//= require_tree .已經包含在.目錄中的一切 - 這將是任何目錄你application.js文件駐留在(typicaly /應用/資產/ Java腳本/)。我的猜測是,您列出的許多其他文件都已經在該目錄中,這些條目可以從application.js文件中刪除。

或者,如果要特別列出應該加載的文件,然後從application.js文件中刪除//= require_tree .

2
//= require_tree . 

此行將加載您的application.js文件文件夾中的所有文件。要對正在加載的文件完全控制,可以去除上面的線路與負載所需的各個文件,也可以使子文件夾和使用

//= require_directory <sub_directory_name> 

這將加載該文件夾中的所有文件。這種方法只會加載你指定的文件。我建議不要使用require_tree,以更好地控制您正在使用應用程序加載的文件。

在你的情況下,刪除require_tree行應該可以解決你的問題。 我希望它有幫助!

+0

非常感謝。 –