2010-02-07 71 views
64
#item 

創建一個div id爲 「項目」如何在Haml製作動態ID?

.box#item 

創建帶class = 「盒子」 和id = 「項」

.box#="item "+x 

創建帶班一個div一個div =」盒子「和註釋」#=「item」+ x'

.box# 
    ="item"+x 

throws「非法元素:類和ID必須有值。

如何將id設置爲變量?

回答

118

有兩種方式:

長形式的方式(定義ID就好像它是一個普通的屬性):

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

產生這種(x是什麼都x.to_s計算爲):

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

短格式的方法:

.box[x] 

產生以下假設xitem一個實例:

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

更多信息,請參見HAML reference

+2

我必須刪除空格才能使其工作:.box {:id =>「item _#{x}」} – jethroo 2013-02-19 17:14:46

+0

如何在快捷方式中連接字符串和字符串轉換的變量?我試過'.box [「item」+ s]'和變體沒有成功。這種使用方括號的快捷方式只與變量兼容嗎? – ahnbizcad 2014-07-02 00:18:29

+1

@gwho快捷方法要求x是項目的一個實例。 使用長格式字符串插值表單來實現您要查找的內容。 .box {:id =>「item#{s}」} – EmFi 2014-07-02 12:59:19