HAML中的动态类名

时间:2010-12-09 02:35:05

标签: haml erb

有没有更好的方法将以下内容转换为HAML?

<% flash.each do |key, value| %>
  <div class="flash <%= key %>"><%= value %></div>
<% end %>

我能做的最好的事情是:

  - flash.each do |key, value|
    %div{:class => "flash " + key.to_s}= value

但这看起来很尴尬。并.flash#{ key}= value似乎不正确?!?

3 个答案:

答案 0 :(得分:19)

如果你正在寻找每一个稍微有点儿的东西,你现在可以用haml来做这件事:

- flash.each do |key, value|
  .flash(class=key)= value

答案 1 :(得分:12)

好一点:

 - flash.each do |key, value|
   .flash{:class => key}= value

答案 2 :(得分:7)

在主题上添加变体:

这个erb

<% flash.each do |key, value| %>
  <div class="alert alert-<%= key %>"><%= value %></div>
<% end %> 

可能是

=flash.each do |key, value|
  .alert{:class => "alert-#{key}"}
    =value

类似于How do I make dynamic ids in Haml?