HAML метапрограммирование - PullRequest
2 голосов
/ 20 мая 2011

Допустим, я хочу отобразить следующее

<div id="foo" class="foo">
  Bar
</div>

В HAML я обычно пишу

#foo.foo Bar

Есть ли простой способ сделать что-то вроде следующего?

#foo{ :class => id_for_this_tag }

Что я действительно хочу, так это возможность подключиться к поколению разметки HAML, чтобы очистить некоторые представления.

1 Ответ

1 голос
/ 24 мая 2011

Код в вашем примере должен работать как есть.Следующая строка:

#foo{:class => @my_class }

Сгенерирует следующий HTML-код:

<div class='foobar' id='foo'></div>

Предполагая, что @my_class = "foobar" определен соответствующим образом.

Я не знаю ни о какомспособ обрезать его дальше, но вы можете сойти с рук с помощью этого формата.Например:

- bob = "silly"
#foo{:class => bob, :summary => "whatever", :arbitrary => "arbitrary"}

Генерирует:

<div arbitrary='arbitrary' class='silly' id='foo' summary='whatever'>
...