Rails的 – link_to助手与data- *属性

可能重复:
使用rails content_tag helper使用html5数据属性的最佳方法是什么?

如何在我的link_to助手(Rails)中使用html5 data-* attrubute

该API说,我必须使用这种格式link_to(body, url, html_options = {})但我有一个错误,当我把它放在html_options

例如:

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

只需将它们传入… 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" } } 

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

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