Rails - 使用data- *属性的link_to帮助程序

时间:2012-01-04 22:03:16

标签: ruby-on-rails ruby-on-rails-3 html5

  

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

如何在link_to helper(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' }

2 个答案:

答案 0 :(得分:207)

只需传递它们...... 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" } }

答案 1 :(得分:4)

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

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