2013-09-22 10 views
44

Ich war Schlanke als Ersatz für HAML in einem persönlichen Projekt zu bewerten und es scheint nicht, HTML5 Datenattribute wie anmutig wie HAML zu handhaben. Ich hatte gehofft, dass jemand auch darauf gestoßen ist, oder vielleicht von einer Option/Syntax gewusst habe, die ich in ihren Dokumenten noch nicht gefunden habe.bester Weg, um Daten zu verarbeiten Attribute in dünnen

HAML können Sie HTML 5 data attributes einfach wie so mithilfe von verschachtelten Hashes definieren:

%a{data: {key1: 'val', key2: 'val'}}

in resultierenden

<a data-key1='val' data-key2='val'></a>

Antwort

75

Es gibt mehrere Möglichkeiten, in dünne

  1. As Hash

    Attribute, die bei einem Hash (z. B. data = {a 1, b: 2} wird als Daten-a = "1" -Daten-b = "2") machen

  2. es direkt verwenden wie erwähnt "mu zu kurz ist", sehr intuitive .

    a data-title="help" data-content="foo" 
    
  3. Verwenden Sie Ruby-Code. Ich mache das oft und selten darüber.

    = link_to 'foo', bar_path, data: {a: 'a', b: 'b'} 
    
+0

Awesome, ** # 3 ** ist genau das, was ich gesucht habe. Ich habe nichts gesehen, was bei den Dokumenten auftaucht, die das beschreiben, so wie es die HAML-Doktoren getan haben. Vielen Dank! – mmoss

+3

moss, # 3 ist weder Haml noch Slim, sondern Rails-Helfer :) –

+3

Wenn du 'a href =" # "data = {user_name: 'fred', user_id: 1} tust, wird dies in' 'übersetzt - Das hat nichts mit Rails zu tun, da es auch in Sinatra-Apps funktioniert. –

0

Ich ziehe diese Art zu beheben ...

@products.each do |product| 
    .module data-id=product.id 

Es ist für mich arbeitet

0

Verwenden Splat Betreiber:

h1#section-title*{'data-url'=>'test', 'data-id'=>'test'} = @project.name 
Verwandte Themen