2017-07-27 57 views
0

我想從application.html.erb轉換爲application.haml,並且在左上角出現一個令人討厭的問題,即「{}」。Haml在網頁上生成「{}」文本

problem

我的代碼如下所示:

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

註釋掉線是創建DIV第二個方法,但它會產生同樣的錯誤。

HTML轉換之前是這樣的:

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

這有什麼錯呢?我如何解決它?

回答

2

它看起來像你的輸出循環flash.each的返回值

= flash.each do |message_type, message| 

不HAML寫,但經過一個快速谷歌看起來也許使用

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

這就是它!謝謝。你能指導我尋找什麼?我會更樂意閱讀它,因爲很難找到合適的HAML文檔和示例。 – Kappa

+1

我只是用「循環訪問haml中的數組」來結束[這個問題](https://stackoverflow.com/questions/9119053/how-to-iterate-over-an-array-with-haml)。不是一個完整的哈姆指南或任何東西 –