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

J’évaluais Slim en remplacement de HAML dans un projet personnel, et il ne semble pas gérer les atsortingbuts de données HTML5 de manière aussi élégante que HAML. J’espérais que quelqu’un aurait également rencontré ce problème, ou aurait eu connaissance d’une option / syntaxe que je n’ai pas encore trouvée dans leurs documents.

HAML vous permet de définir des atsortingbuts de données HTML 5 simplement en utilisant des hachages nesteds comme suit:

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

résultant en

Il y a de multiples façons dans Slim

  1. Comme hachage

    Les atsortingbuts qui seront coupés par un trait d’union si un hachage est donné (par exemple, data = {a: 1, b: 2} sera affiché sous la forme data-a = “1” data-b = “2”)

  2. Utilisez-le directement car “mu est trop court” mentionné, 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'} 

Utilisez l’opérateur splat :

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

Je préfère ce genre de fixer …

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

Ça marche pour moi