Вызов метода Ruby возвращает хеш, который может быть заменен на хеш контента. Например, Haml::Helpers объявляет следующий метод:

def html_attrs(lang = 'en-US') 
  {:xmlns => "http://www.w3.org/1999/xhtml", 'xml:lang' => lang, :lang => lang} 
end

Далее этот метод может использоваться в Haml следующим образом:

%html{html_attrs('fr-fr')}

Что даст нам результат:

<html lang='fr-fr' xml:lang='fr-fr' xmlns='http://www.w3.org/1999/xhtml'>
</html>

Вы можете использовать сколько угодно методов атрибутов, разделяя их запятыми, как список аргументов Ruby. Все хеш будут объединены слева направо. Например, если вы объявили:

def hash1
  {:bread => 'white', :filling => 'peanut butter and jelly'}
end

def hash2
  {:bread => 'whole wheat'}
end

затем

%sandwich{hash1, hash2, :delicious => 'true'}/

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

<sandwich bread='whole wheat' delicious='true' filling='peanut butter and jelly' />

Обратите внимание на то, то что список атрибутов в Haml имеет такой же синткакс, как и вызов методов в Ruby. Это означает, что вызовы методов атрибутов должны указываться до указания хеш атрибутов.

Методы атрибут не поддерживаются для атрибут в стиле HTML синтаксиса.

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