2013-02-12 2 views
0

J'ai créé une fonction javascript dans mon fichier application.js à des fins de test, mais je ne suis pas en mesure d'y accéder lorsque j'utilise cette fonction en ligne dans mes fichiers de vue.Comment créer un fichier js qui permet un accès global à ses fonctions dans RoR 3.2+?

app/assets/application.js:

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

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

vues/layouts/application.html.haml

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

Répondre

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


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

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

Ce échoueront aussi

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

Cette devrait fournir une bonne lecture var functionName = function() {} vs function functionName() {} ainsi.

Questions connexes