1. ホーム
  2. ruby-on-rails

[解決済み] Rails - data-* 属性を持つ link_to ヘルパー [重複].

2022-11-01 02:46:25

質問

重複の可能性があります。

railsのcontent_tagヘルパーでhtml5データ属性を使用する最良の方法は?

どのように私はhtml5を使用することができます data-* を使うにはどうしたらいいですか?

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" } }