2013-06-23 54 views
0

我試圖將我的控制器特定代碼組織到各種JavaScript文件中,然後通過資產管道進行編譯。我的一些功能需要加載DOM,所以我把它們放在一個準備好的功能中,如下所示:$(document).ready(function() { alert("loaded") });資產管道中的多個document.ready

由於某些原因,當我從主application.js document.ready函數中刪除它時,它在各自的文件中。是否可以在資產管道中對document.ready函數進行多次調用?

我使用的鐵軌3.2.0,紅寶石1.9.3p429和jQuery的導軌(3.0.1)

這裏是的application.js鏈輪評論:

//= require jquery 
//= require jquery_ujs 
//= require_self 
//= require_tree . 
+0

問題應該是其他地方,因爲您可以添加儘可能多的文檔就緒處理程序 –

+1

您是否需要鏈輪註釋中的新文件? –

+0

嗯是的,我有'// = require_tree .',它添加了sidebar.js文件,當我把一個簡單的'alert(「hi」)''沒有文檔包裝它就可以工作。 – Graeme

回答

0

看來通過刪除//= require_self評論,$(document).ready函數可以工作。我原來用railscasts episode升級到3.1。在他的代碼中,他包含了該行,但我注意到在我新生成的腳手架3.1應用程序中它不存在。我不確定require_self的目的是什麼,但是刪除它可以解決問題!

謝謝你們!

1

您是否嘗試過使用jQuery文件準備好的快捷方式? $(function(){ alert("loaded") }); 它具有相同的功能。另外,你應該更新到rails 3.2.13,因爲3.2.0和3.2.13之間有一些主要的安全更新。

+0

感謝會升級也不知道那個捷徑,謝謝! – Graeme