Вертикальная черта обозначает многострочную строку. Она расположена в конце строки (после нескольких пробелов) и означает, что все следующие строки, которые заканчиваются |, будут оцениваться, как если бы они были на одной строке. Обратите внимение, что даже в последней строке в блоке многострочного кода должен быть символ |. Например:

%whoo
  %hoo= h(                       |
    "I think this might get " +  |
    "pretty long so I should " + |
    "probably make it " +        |
    "multiline so it doesn't " + |
    "look awful.")               |
  %p This is short.

компилируется в

<whoo>
  <hoo>I think this might get pretty long so I should probably make it multiline so it doesn't look awful.</hoo>
  <p>This is short</p>
</whoo>

Такой синтаксис многострочности реализован специально для избежания большого количества Ruby кода в файлах Haml. Если вы часто используете многострочность, то задайте себе вопрос: "А может быть стоит использовать хелперы?"

Обратите внимание, что всё-таки есть несколько случаев, когда лучше использовать многострочность не в манере многострочности. И один из этих случаев - атрибуты HTML. Некоторые теги имеют большое количество атрибут, но синтаксис указания атрибут не совпадает со стилистикой многострочности, соответственно, не совместим (подробнее в разделе атрибуты).

Кроме того, иногда вам необходимо вызывать методы Ruby или объявлять структуры данных, которые занимают много места. В таком случае, структуры данных и функции, имеющие много аргументов, могут находится на нескольких строках, если в конце каждой строки будет стоять запятая (подробнее в разделе включение Ruby).

На сайте функционирует система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter. Также отправить оповещение об ошибке можно, нажав на эту ссылку.