HAML中的动态类名

28

有没有更好的方法将以下内容转换为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个回答

23

如果您想要更为简洁的东西,您现在可以在Haml中这样做:

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

14
一个更好的版本:
 - flash.each do |key, value|
   .flash{:class => key}= value

13

在这个主题上添加一个变体:

这个erb

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

可能是

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

类似于如何在Haml中创建动态id?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接