HAML中的动态类名

Mel*_*emi 24 haml erb

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

<% flash.each do |key, value| %>
  <div class="flash <%= key %>"><%= value %></div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我能做的最好的是:

  - flash.each do |key, value|
    %div{:class => "flash " + key.to_s}= value
Run Code Online (Sandbox Code Playgroud)

但它似乎很尴尬.并且.flash#{ key}= value似乎不对???

gun*_*unn 19

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

- flash.each do |key, value|
  .flash(class=key)= value
Run Code Online (Sandbox Code Playgroud)


bow*_*ior 13

好一点:

 - flash.each do |key, value|
   .flash{:class => key}= value
Run Code Online (Sandbox Code Playgroud)


Asa*_*saf 7

在主题上添加变体:

这个erb

<% flash.each do |key, value| %>
  <div class="alert alert-<%= key %>"><%= value %></div>
<% end %> 
Run Code Online (Sandbox Code Playgroud)

可能

=flash.each do |key, value|
  .alert{:class => "alert-#{key}"}
    =value
Run Code Online (Sandbox Code Playgroud)

类似于如何在Haml中制作动态ID?