Как сделать динамические идентификаторы в Haml?

#item

создает div с id = "item"

.box#item

создает div с class= "box" и id = "item"

.box#="item "+x

создает div с class= "полем" и комментарий '# = "item" + x'

.box#
  ="item"+x

throws "Недопустимый элемент: классы и идентификаторы должны иметь значения."

Как мне установить идентификатор переменной?

Ответ 1

Существует два способа:

Способ длинной формы (определите идентификатор, как если бы он был обычным атрибутом):

.box{:id => "item_#{x}"}

производит это (x - это то, что когда-либо x.to_s оценивает):

<div class="box" id="item_x">

Короткая форма:

.box[x]

выдает следующее предположение, что x является экземпляром item:

<div class="box item" id="item_45">

Для получения дополнительной информации см. ссылку HAML.