2012-10-31 16 views
5

Ich habe den folgenden Code:Rails For-Schleife Ansicht

<tbody> 
    <%= Item.each do |item|=%> 
    <tr> 
     <th><%= item.rev =%></th>  <========= 
     <th><%= item.name =%></th> 
    </tr> 
    <%= end =%> 
</tbody> 

Jedoch habe ich auf der inidcated Linie einen Syntaxfehler immer bin. In der Datenbank befinden sich Daten (Testfall). Keine Ahnung, was ich falsch mache.

Antwort

13

Die Gleichen zu Zeichen, die Sie haben, sind falsch. Versuchen Sie, wie unten:

<tbody> 
    <% Item.each do |item|%> 
    <tr> 
     <th><%= item.rev %></th>  
     <th><%= item.name %></th> 
    </tr> 
    <% end %> 
</tbody> 

Die <% = sollte nur für Ausdrücke verwendet werden, die ausgewertet werden müssen.

um zu verstehen, eingebettet Rubin diesen Link sieht http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html

1

Der Ausdruck für erb-Tags ist <% #code%>
jetzt, wenn wir auch diesen Tag drucken möchten, dann wenden wir <% = #code% >
dh nur ein '=' Zeichen wird verwendet und das auch auf der linken Seite.
Auch in Zeile Iterator kann nichts gedruckt werden, daher kein '=' Zeichen in diese Zeile, ähnlich ist der Fall mit Tags mit 'Ende'.

Daher Code wie

<tbody>
          <% aussehen sollte Item.each tun | Artikel | %>
                    <tr>
                              <th> <% = item.rev%></th>
                              <th> <% = item.name%></th>
                    </tr>
          <% end%>
</tbody>

Verwandte Themen