web-dev-qa-db-de.com

Rails - link_to helfer with data- * attribute

Mögliches Duplikat:
Der beste Weg, HTML5-Datenattribute mit Rails content_tag helper? zu verwenden

Wie kann ich html5 data-* Attrubute in meinem link_to-Helfer (Rails) verwenden?

Die API gibt an, dass ich dieses Format link_to(body, url, html_options = {}) verwenden muss, aber beim Einfügen in html_options ist ein Fehler aufgetreten

Ex:

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

Übergeben Sie sie einfach in ... Rails hat einen Standardwert :data Hash

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

Ein Punkt - Sie müssen Symbole mit Anführungszeichen umgeben, wenn sie einen Bindestrich enthalten:

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

pdate: In Rails 4 werden Unterstriche automatisch in Bindestriche umgewandelt.

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

Alternativ können Sie es auch direkt schreiben:

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

pdate 2: Wie bereits in den Kommentaren erwähnt, erlaubt Ruby 1.9+ diese Syntax, von der einige glauben, dass sie sauberer ist:

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

Füge hinzu ein data- Attribut, indem Sie folgendermaßen vorgehen:

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