Le problème, bien sûr, est que les symboles rubis n'aiment pas les traits d'union. Donc, quelque chose comme cela évidemment ne fonctionnera pas:Meilleure façon d'utiliser les attributs de données html5 avec les rails content_tag helper?
content_tag(:div, "Some Text", :id => "foo", :data-data_attr => some_variable)
Une option consiste à utiliser une chaîne plutôt qu'un symbole:
content_tag(:div, "Some Text", :id => "foo", 'data-data_attr' => some_variable)
Ou je pouvais interpoler:
"<div id='foo' data-data_attr='#{some_variable}'>Some Text</div>".html_safe
I sorta préfère le plus tard, mais les deux semblent un peu dégoûtant. Quelqu'un sait-il d'une meilleure façon?
Cela ajoute simplement des choses sur mon URL. Il n'ajoute pas d'attribut de données. –
Bien sûr que oui ... Mais si vous utilisez un assistant qui prend à la fois un hachage d'url et un hachage d'options html, vous devez envelopper explicitement les deux hachages entre accolades {}. link_to par exemple: link_to "label", {: action => blub}, {: data => {: foo =>: barre},: class => "test"} – reto
Cela fonctionne: 'data-bv-notempty -message '=> "Le nom d'utilisateur est requis" – Ivan