2013-03-12 10 views
8

Siehe Update: für Antwort untenRails postet seine Syntax laut, wenn es hinter den Kulissen laufen sollte?

Original Frage:

ich eine <script></script> in meiner Seite haben, und wenn es läuft es tut: -

<% Route.all.each do |route| %> 
    var long = "<%= route.longitude %>"; 
    var lati = "<%= route.latitude %>"; 
    var title = "Route <%= route.route_number %> Stop <%= route.stop_number %>"; 
    var id = "<%= route.id %>"; 
<% end %> 

Aber in Firebug Ich erhalte diese Fehler in der Konsole.

SyntaxError: syntax error 
[Break On This Error] 
<% Route.all.each do |route| %> 
^ 

Update: Es stellte sich heraus ein firebug Thema zu sein, wie vorgesehen funktioniert aber Firebug wird als Fehler schreiben.

+0

Was ist die Erweiterung der Datei, in der dieser Code lebt? – jvnill

+0

admin.html.erb (15 Char Limit) – Datsik

+0

das ist in der Tat seltsam. Kannst du die ganze Vorlage in einem Geiste hinzufügen? – jvnill

Antwort

0

die Sie interessieren,

<% content_for :scripts do %> 
<script type="text/javascript" charset="utf-8"> 

<< your script code >> 

</script> 
<% end %> 
0

Ich glaube, das ist, weil js Variablen lang, lati, Titel und id mehr als einmal definiert sind: jede Instanz Route einer Strecke erzeugt eine Definition aller dieser vier Variablen. Um dies zu vermeiden, definieren Sie sie einmal vor der Schleife mit einem leeren Wert '' und entfernen Sie dann "var" vor ihnen in der Schleife.

var long = ""; var lati = ""; var title = ""; var id = ""; 
<% Route.all.each do |route| %> 
long = "<%= route.longitude %>"; 
lati = "<%= route.latitude %>"; 
title = "Route <%= route.route_number %> Stop <%= route.stop_number %>"; 
id = "<%= route.id%>"; 
<% end %> 
1

Diese entweder im Zusammenhang mit Ihrer Umgebung ist

Oder selbst Firebug Zusammenhang („Produktion“ nicht detailliert Fehler und Debug-Informationen nicht zeigen) (Gott segne sie, nicht ohne sie leben könnte)

Verwandte Themen