web-dev-qa-db-fra.com

Meilleur moyen de gérer les attributs de données dans Slim

J'étais en train d'évaluer Slim en remplacement de HAML dans un projet personnel, et il ne semble pas gérer les attributs de données HTML5 aussi facilement que HAML. J'espérais que quelqu'un aurait peut-être également rencontré ce problème ou aurait eu connaissance d'une option/syntaxe que je n'ai pas encore trouvée dans leur documentation.

HAML vous permet de définir HTML 5 attributs de données simplement en utilisant des hachages imbriqués comme ceci: 

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

résultant en

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

48
mmoss

Il y a plusieurs façons dans Slim

  1. Comme Hash

    Les attributs qui seront coupés si un hachage est donné (par exemple, data = {a: 1, b: 2} sera rendu sous la forme data-a = "1" data-b = "2")

  2. Utilisez-le directement comme mentionné "mu is too short", assez intuitif.

    a data-title="help" data-content="foo"
    
  3. Utilisez le code Ruby. Je le fais souvent et rarement ci-dessus.

    = link_to 'foo', bar_path, data: {a: 'a', b: 'b'}
    
81
Billy Chan

Utilisez l'opérateur splat :

h1#section-title*{'data-url'=>'test', 'data-id'=>'test'} = @project.name
1
The Whiz of Oz

Je préfère ce genre à réparer ...

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

Ça marche pour moi

0
Juan José