в рубине вы можете сделать условный блок, например, так:
block do |n| puts n end if foo == bar
что бы перевести на erb как
<% block do |n| %> <%= n %> <% end if foo == bar %>
Есть ли способ достичь этого в хамле, кроме как обернуть блок в условие?
- block do |n| = n - end if foo == bar
Хамл допускает end в этом случае.
end
Пожалуйста, поставьте if впереди - это делает его более читабельным:
if
- if foo == bar - block do |n| = n
И, если это происходит часто, подумайте над написанием пользовательского помощника Haml.
(Iупомянул в комментарии руководство по стилю GitHub Ruby выше. Если вы будете искать в Google 'ruby do end chaining' , вы увидите много руководств по стилю, которые рекомендуют использовать эту конструкцию.)