导轨和HAML提示信息(Rails flash messages with HAML)

2019-08-04 10:29发布

我开始学习HAML:我不能闪存块HAML翻译:

<% flash.each do |key, value| %>
  <div class="alert alert-<%= key %>">
    <button type="button" class="close" data-dismiss="alert">×</button>
    <strong><%= value %></strong>
  </div>        
<% end %>

Answer 1:

干得好:

= flash.each do |key, value|
  .alert{ :class => "alert-#{key}" }
    %button.close{ :data => { :dismiss => "alert" } } x
    %strong
      = value

仅供参考,你可以通过将他们的声明之后的哈希属性添加到任何元素。 如果没有指定的元素,只是一个类或ID,HAML使该元素与给定的类或ID的DIV。 但是,你能做到这一点很多方面。 举例来说,这些都是一样的:

%div{:class => 'foo bar', :id => 'test' }
.foo{:class => 'bar', :id => 'test'}
#test.bar{:class => 'foo'}
#test.foo.bar

所有输出: <div class="foo bar" id="test"></div>

你需要把计算出的属性中的散列虽然,即:

- klass = "bar"
%div{ :class => klass }

输出: <div class="bar"></div>

此外,请注意,在以上所有的例子中, :attribute => 'value'可以表示为attribute: 'value' ,例如:

%button.close{ data: { dismiss: 'alert' } } x

希望帮助。



文章来源: Rails flash messages with HAML