哈姆到HTML / erb ......任何人都可以看到我正在犯的错误

时间:2012-01-03 07:44:41

标签: html ruby-on-rails haml

我分叉了一个使用Haml的Rails项目,我还没有真正学过它。有一个在线转换器帮助我使用HTML,但它忽略了erb,当我测试我自己的转换时,flash消息没有与它们相关的类,所以我知道我做错了,但我可以'不知道为什么。

注意(不要担心我的代码中的haml。中的间距

原始haml

 - if flash[:notice]
        .alert-message.warning
          %p
            = flash[:notice]
      - if flash[:error]
        .alert-message.error
          %p
            = flash[:error]

错误的Html翻译

<% if flash[:notice] %>
    <div class="alert-message.warning">
    <p>
     <%= flash[:notice] %>
    </p>
    </div>
 <% end %>
   <% if flash[:error] %>
   <div class="alert-message.error">
   <p>
   <%= flash[:error] %>
   </p>
   </div>
   <% end %>

1 个答案:

答案 0 :(得分:2)

第一行后你有一个巨大的缩进。它应该是2个空格。

已编辑:如果你需要转换haml的一小部分,你可以学习如何手动转换它。有一些小haml tutorial,你可以在那里学习一些基础知识。 haml的那部分可以变成以下erb:

<% if flash[:notice] %>
  <div class="alert-message warning">
   <p><%= flash[:notice] %></p>
  </div>
<% end %>
<% if flash[:error] %>
  <div class="alert-message error">
   <p><%= flash[:error] %></p>
  </div>
<% end %>

其中: -<%

相同

=<%=

相同

%p%tag_name) - &gt; <p>

.class - &gt; %div.class - &gt; <div class="class"

<强>编辑#2 : 通过生成的html <div class="alert-message.warning">判断应该是<div class="alert-message warning">(点替换为类之间的空格)