Элемент класса в Хамле - PullRequest
2 голосов
/ 19 марта 2012

Я использую Haml в проекте Ruby on Rails.Я знаю, что вы используете знак = для выполнения Ruby, но до сих пор я видел, что код Ruby должен быть последней частью строки.

Я пытаюсь добавить класс в th элемент динамически.(В случае, если это уместно: каждый td также содержит больше Ruby.)

У меня есть следующий код:

%th= link_to 'Name', res_path

Я хочу добавить класс к th, иимя этого класса находится в переменной экземпляра с именем class_name.Я попробовал это:

%th.=@class_name

Но это не работает.

Как включить код Ruby дважды в одной строке, используя Haml?

Ответы [ 3 ]

5 голосов
/ 19 марта 2012

Решение html_options, предлагаемое Alok, добавит класс к тегу 'a'.Я бы сделал это в две строки вместо одной:

%th{ :class => @class_name }
  = link_to 'Name', res_path
2 голосов
/ 19 марта 2012

Как указал @DavB, только статический текст может использоваться с нотацией . / #. В противном случае вы можете либо передать свои параметры вспомогательному методу (если он их принимает), либо, что более универсально, использовать атрибут hash, как в %th{:class => @name}. Это приведет к <th class="namevalue">.

0 голосов
/ 19 марта 2012

Вы можете использовать html_options тега link_to и затем добавить туда класс. Я думаю, что это стандартный способ сделать это.

...