Link_toヘルパーでhtml5 data-*
attrubuteを使用するにはどうすればよいですか(Rails)
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' }
1つの落とし穴-ダッシュが含まれる場合は、シンボルを引用符で囲む必要があります。
: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!"