ExecJS :: ProgramError: SyntaxError: Mot réservé "fonction"

Dans nos rails rfq.js.coffee, nous n'avons qu'un simple code js:

$(function() { $('#need_report').change(function(){ if ($(this).val() == true) { $('#report_language').hide(); } // end if }); // end change() }); // end ready(function) 

Cependant, ce code provoque une erreur indiquant que la fonction () dans la première ligne est un mot réservé. Puisque la première ligne est essentiellement un jquery $(document).ready(function () {}) , nous n'avons aucune idée de l'erreur de cette erreur. Des pensées à ce sujet? Merci beaucoup.

Vous ne pouvez pas utiliser les JS standard comme cela dans un fichier Coffeescript. Soit renommez le fichier à rfq.js , soit convertissez-le en coffeescript:

 $ -> $('#need_report').change -> if $(this).val() $('#report_language').hide() 

Vous pouvez intégrer un javascript régulier en entourant le code avec les back-ticks "` ". Je souhaiterais que cela fonctionne comme les autres langages d'analyse aussi … il m'a fallu beaucoup de débogage inutile et de chercher à comprendre. http://coffeescript.org/#embedded

Peut-être que vous avez écrit le code JavaScript dans le fichier avec l'extension .coffee vous pouvez utiliser js2.coffee pour convertir votre code de JavaScript vers CoffeeSecript