2012-09-17 11 views
14

私はデータ - とのリンクを作成する方法を知っている*属性:HAML:データ-XXX-YYY属性を作成します

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

が発生:2深いデータ名について

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

しかし、どのようにたとえば、data-user-namedata-user-ageのように、データ属性をグループ化する方法です。あなたが推測しているように、私が試した:

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

任意のアイデアはどのようにそれをする:それは私に奇妙なHTML出力を与え、動作しません

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

しかし?前もって感謝します。

答えて

22

あなたはdata属性は特殊ケースに入れHAMLであり、それが唯一の浅い値を占め

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

を使用する必要があります。

+0

にだから、それは 'ユーザー' '私たちはデータを-'グループ化された方法のグループにはできませんか? – htaidirt

+0

いいえ、 'data'属性はHAMLによって特別に扱われ、浅い値のみを扱うためです。あなたはhttps://github.com/haml/hamlで問題を開いて議論を開始することができます。私は見ていませんでしたが、以前に言及されていたとしても驚くことはありません。 –

+2

Caseyさん、ありがとうございました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"} 
関連する問題