2013-03-12 9 views
8

Zobacz Aktualizacja: na odpowiedź na dolnymRails publikuje swoją składnię na głos, kiedy powinna działać za kulisami?

oryginalne pytanie:

mam <script></script> w moją stronę, a kiedy to nie działa: -

<% 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 %> 

Ale w Firebug Dostaję to błąd w konsoli.

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

Aktualizacja: Okazuje się, że to kwestia Firebug, działa zgodnie z przeznaczeniem, ale Firebug będzie pisać jako błąd.

+0

Jaki jest rozszerzenie pliku, w którym znajduje się ten kod? – jvnill

+0

admin.html.erb (15 char limit) – Datsik

+0

to naprawdę dziwne. czy możesz dodać cały szablon w istocie? – jvnill

Odpowiedz

0

Spróbuj,

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

<< your script code >> 

</script> 
<% end %> 
0

wierzę, to dlatego, że zmienne js długości Lati, tytuł i ID są zdefiniowane więcej niż raz: każda trasa przykład trasy generuje definicji wszystkich czterech zmiennych. Aby tego uniknąć, zdefiniuj je przed pętlą z pustą wartością '', a następnie usuń "var" przed nimi w pętli.

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

Jest też związany ze środowiskiem („produkcja” nie pokazuje szczegółowe informacje o błędach i debugowania)

lub związane z Firebug sobie (Bóg im błogosławił, nie mógł bez niej żyć)

Powiązane problemy