2012-03-19 59 views
2

我在Ruby on Rails項目中使用Haml。我知道你使用=號來執行Ruby,但到目前爲止我所看到的是Ruby代碼必須是一行的最後一部分。Haml中的元素類

我試圖動態地將一個類添加到th元素。 (如果這是有關:每個td還含有較多的紅寶石)

我有以下代碼:

%th= link_to 'Name', res_path 

我想添加一個類th,這個類的名字是一個實例名爲class_name的變量。我試過這個:

%[email protected]_name 

但它不起作用。

如何在同一行使用Haml兩次包含Ruby代碼?

回答

5

Alok提供的html_options解決方案將該類添加到'a'標籤。我會做了兩行,而不是一個:

%th{ :class => @class_name } 
    = link_to 'Name', res_path 
+0

謝謝,這就是我一直在尋找 – 2012-03-19 18:49:17

0

您可以使用link_to標記的html_options,然後在其中添加該類。我認爲這是做這件事的標準方式。

+1

謝謝,但這增加了'a'類'th' – 2012-03-19 18:50:08

2

由於@DavB指出,只有靜態文本可以與./#符號來使用。否則,您可以將選項傳遞給您的幫助器方法(如果它接受它們),或者更普遍地,使用如%th{:class => @name}中的哈希屬性。這將導致<th class="namevalue">