web-dev-qa-db-fra.com

Rails - aide link_to avec attribut data- *

Duplicate possible:
Meilleure façon d'utiliser les attributs de données html5 avec Rails helper content_tag?

Comment utiliser html5 data-* Avec attrubute dans mon assistant link_to (Rails)

L'API dit que je dois utiliser ce format link_to(body, url, html_options = {}) mais j'ai une erreur quand je le mets dans html_options

Ex:

link_to "whatever", @whatever_path, { class: 'my_class', data-tooltip: 'what I want' }
103
eveevans

Il suffit de les transmettre ... Rails a une valeur par défaut :data hash

= link_to body, url, :data => { :foo => 'bar', :this => 'that' }

Une erreur: vous devez entourer les symboles de guillemets s’ils comportent un tiret:

:data => { :'foo-bar' => 'that' }

Mise à jour: Dans Rails 4, les traits de soulignement sont automatiquement convertis en tirets afin que vous puissiez le faire:

:data => { :foo_bar => 'that' }

Sinon, vous pouvez simplement l'écrire directement:

= link_to body, url, :'data-foo' => 'bar', :'data-this' => 'that'

Mise à jour 2: Comme indiqué dans les commentaires, Ruby 1.9+ autorise cette syntaxe, que certains pensent plus nette:

{ data: { foo: "bar" } }
212
sethvargo

Ajouter un data- attribuez en procédant comme suit:

link_to "Hello", hello_path, :"data-attribute" => "yeah!"
5
Robin