我分叉了一个使用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 %>
答案 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">
(点替换为类之间的空格)