在ruby中你可以像这样做条件块
block do |n|
puts n
end if foo == bar
将转换为erb as
<% block do |n| %>
<%= n %>
<% end if foo == bar %>
有没有办法在haml中实现这一点,而不是将块包装在条件中?
答案 0 :(得分:7)
- block do |n|
= n
- end if foo == bar
在这种情况下,哈姆尔允许end
。
答案 1 :(得分:0)
请将if
放在前面 - 它使其更具可读性:
- if foo == bar
- block do |n|
= n
而且,如果经常发生这种情况,请考虑编写一个自定义的Haml助手。
(我在评论中提到了GitHub Ruby Style guide。如果您search Google for 'ruby do end chaining',您会看到许多推荐使用该结构的样式指南。)