условные блоки в хамле - PullRequest
2 голосов
/ 20 сентября 2010

в рубине вы можете сделать условный блок, например, так:

block do |n|
  puts n
end if foo == bar

что бы перевести на erb как

<% block do |n| %>
  <%= n %>
<% end if foo == bar %>

Есть ли способ достичь этого в хамле, кроме как обернуть блок в условие?

Ответы [ 2 ]

7 голосов
/ 20 сентября 2010
- block do |n|
  = n
- end if foo == bar

Хамл допускает end в этом случае.

0 голосов
/ 17 июня 2012

Пожалуйста, поставьте if впереди - это делает его более читабельным:

- if foo == bar
  - block do |n|
    = n

И, если это происходит часто, подумайте над написанием пользовательского помощника Haml.

(Iупомянул в комментарии руководство по стилю GitHub Ruby выше. Если вы будете искать в Google 'ruby do end chaining' , вы увидите много руководств по стилю, которые рекомендуют использовать эту конструкцию.)

...