2017-07-27 5 views
0

Ich versuche, von application.html.erb zu application.haml zu konvertieren und ich bekomme ein kleines nerviges Problem, das "{}" in der oberen linken Ecke ist.Haml produziert "{}" Text auf Webseite

problem

Mein Code sieht wie folgt aus:

%body 
    = render 'shared/header' 
    .container 
     = flash.each do |message_type, message| 
     .alert{class: "alert-#{message_type}"}= message 
     -# = content_tag :div, message, class: "alert alert-#{message_type}" 
     = yield 
     = render 'shared/footer' 

kommentiert out Linie eine zweite Weg ist, div zu schaffen, aber es produziert gleichen Fehler.

HTML vor der Konvertierung sah wie folgt aus:

<body> 
    <%= render 'shared/header' %> 
    <div class="container"> 
     <% flash.each do |message_type, message| %> 
      <%= content_tag(:div, message, class: "alert alert-#{message_type}") %> 
     <% end %> 
     <%= yield %> 
     <%= render 'shared/footer' %> 
    </div> 
    </body> 

Was ist daran falsch? Wie repariere ich es?

Antwort

2

Es sieht aus wie Sie den Rückgabewert Ihrer flash.each Schleife sind die Ausgabe

= flash.each do |message_type, message| 

in haml nicht schreiben, aber nach einer schnellen Google es vielleicht aussieht

verwenden
- flash.each do |message_type, message| 
+0

Das ist es ! Vielen Dank. Könnten Sie mir zeigen, wonach Sie gesucht haben? Ich wäre mehr als glücklich, das auch zu lesen, da es ziemlich schwierig ist, die richtige HAML-Dokumentation und Beispiele zu finden. – Kappa

+1

Ich googelte gerade "looping durch Array in haml" und landete auf [diese Frage] (https://stackoverflow.com/questions/9119053/how-to-iterate-over-an-array-with-haml). War kein ausgewachsener Führer oder irgendetwas –

Verwandte Themen