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>
Il y a plusieurs façons dans Slim
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")
Utilisez-le directement comme mentionné "mu is too short", assez intuitif.
a data-title="help" data-content="foo"
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 à réparer ...
@products.each do |product|
.module data-id=product.id
Ça marche pour moi