Rails-link_to helper with data-* 属性

可能的复制品:
Best way to use html5 data attributes with rails content_tag helper?

How can I use html5 data-* attrubute in my link_to helper (Rails)

API 说我必须使用这种格式的 link_to(body, url, html_options = {}),但是当我把它放在 html _ options 中时出现了一个错误

例如:

link_to "whatever", @whatever_path, { class: 'my_class', data-tooltip: 'what I want' }
74341 次浏览

通过执行以下操作添加 data-属性:

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

只要把它们传入... ... Rails 有一个默认的 :data散列

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

一个问题是,如果符号中包含破折号,则必须在符号周围加上引号:

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

更新: 在 Rails 4中,下划线会自动转换为破折号,所以你可以这样做:

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

或者你可以直接写下来:

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

更新2: 正如注释中指出的,Ruby 1.9 + 允许这种语法,这是现在首选的格式:

{ data: { foo: "bar" } }