2013-02-12 28 views
0

我在我的application.js文件中創建了一個用於測試目的的javascript函數,但是當我在視圖文件中使用該函數內聯時,我無法訪問它。如何創建一個允許在RoR 3.2+中全局訪問其功能的js文件?

應用程序/資產/ application.js中:

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

$(document).ready(function() { 
    function test() { 
    alert('test'); 
    } 
} 

的意見/佈局/ application.html.haml

:javascript 
    test(); // gives me a Uncaught ReferenceError: test is not defined error 

回答

0
$(document).ready(function() { 
    test = function() { 
    console.log("foo"); 
    } 
}); 


// wait for document ready 
$(document).ready(function() { 
    test(); 
}); 

$(document).ready(function() { 
    window.test(); 
}); 

這也將失敗

$(document).ready(function() { 
    var test = function() { 
    console.log("foo"); 
    } 
}); 

這應該提供一些很好的閱讀var functionName = function() {} vs function functionName() {}也是如此。

相關問題