2012-09-17 46 views
14

我知道如何創建一個數據 - 鏈接*屬性:HAML:創建數據-XXX-YYY屬性

%a{ :href => "#", :data => { :name ="John", :age => 24 } } Hi John 

產生:

<a href="#" data-name="John" data-age="24">Hi John</a> 

但如何約2深層數據名稱,如data-user-namedata-user-age,這是一種對數據屬性進行分組的方法。正如你可能已經猜到,我想:

:data => { :user => { :name => "John", :age => 24 } } 

但它不工作,讓我奇怪的HTML輸出:

<a href="#" data-user="nameJohnage24">Hi John</a> 

任何想法如何做到這一點?提前致謝。

回答

22

你將不得不使用

:data => {'user-name' => 'John', 'user-age' => 24} 

data屬性是特例,由HAML,它只佔淺的值。

+0

因此,它不可能組'用戶'我們分組'數據'的方式嗎? – htaidirt

+0

不,因爲'data'屬性是HAML特有的,它只佔淺層值。你可以在https://github.com/haml/haml打開一個問題來引發一些討論。我沒有看,但如果它之前提到過,我不會感到驚訝。 –

+2

謝謝凱西,問題在github上打開https://github.com/haml/haml/issues/593 – htaidirt

-2

是的,你可以!從簡單的...

%a(data-user-name="John", data-user-last-name="Arbuckle") 

要複雜

%a(data-user-name="#{User.first.name}", data-stack-overflow="all of these will be custom attributes in your link"){href: "garfield.com"}