2016-05-21 6 views
0

Ich verwende Rails 4 und versuche, einige einfache Javascript in meiner Anwendung zu integrieren. Ich glaube, die Asset-Pipeline funktioniert, weil ich alert(Hello!); in der Datei pages.js.coffee geschrieben habe, die sich in meinem Javascripts-Ordner befindet, und die Warnung funktionierte in der Webanwendung. Wenn ich jedoch etwas in die Datei pages.js.coffee wieVerwenden von Javascript in Rails 4

`var today = new Date(); 
var hourNow = today.getHours(); 
var greeting; 

if (hourNow >18) { 
    greeting = 'Good Evening!'; 
    } 
else if (hourNow > 12) { 
    greeting = 'Good Afternoon!'; 
    } 
else if (hourNow > 0) { 
    greeting = 'Good Morning!'; 
    } 
else { 
    greeting = 'Welcome'; 
    } 

document.write('<h3>' + greeting + '</h3>);` 

schreiben möchte, passiert nichts in der Anwendung.
Außerdem Ich versuche, diese Javascript in meiner HTML-Datei zu übernehmen mit <%= javascript_include_tag "pages" %>

Kann ich auch den Code mit <script src"javascripts/pages.js.coffee></script>

Vielen Dank für jede Hilfe!

Antwort

1

Sie müssen diesen js-Code in einen document.ready-Aufruf einbinden, da die js-Dateien bei Verwendung der Asset-Pipeline in den Kopf des Dokuments geladen werden und nicht wie andere Plattformen am Ende des Dokuments. Das feuert den Code grundsätzlich ab, bevor das DOM vollständig erstellt wird. -

Wie für die Einbeziehung des Codes, ist ja jeder Weg in Ordnung.