Beeeat’s log

Beeeat’s log

プログラミングで出くわした知識やツール、日常生活、働き方その他色々なことをメモしていくブログ

Rails の View(ERB) でカスタムデータ属性を設定したい時の方法

Rails の ERB で View のコードを書いている時にカスタムデータ属性( custom data attributes )を使いたい時がある.

developer.mozilla.org

HTML なら素直にdata-*という形式で書けば良いが, Rails ではどのように書くかを調べてみても中々見つけられなかった.

そんな中,幸運にもチームメンバーが知っており,設定方法を教えてもらったため今回はそれについてまとめておく.

設定方法

例えばdata-delayというカスタムデータ属性を作りたい場合,ERB では以下のように data: { delay: 属性名 } という形式で書けば良い. 今回の場合はdata-delayという属性を設定した場合を記述する.

<%= image_tag('', alt:'テスト画像', data: { delay: image_path('hoge/test.png') }) %>

ブラウザで確認すると以下のようになる.

<img alt="テスト画像" data-delay="/assets/hoge/test-2nlgadihfdnkddvhiwdkwuiwjjkgiwl3dnfl57398482737dlfowpsjdhfgsa.png" src="/assets/hoge/test-2nlgadihfdnkddvhiwdkwuiwjjkgiwl3dnfl57398482737dlfowpsjdhfgsa.png" class="test-class">

まとめと所感

今回は Rails の View(ERB) でカスタムデータ属性の設定方法についてまとめてみた. 内容はめちゃくちゃ小ネタではあったが,しばらく経ってからまたカスタムデータ属性を設定したい時に「アレ?どうやるんだっけ?」となりそうなので,この記事は今後ちょくちょくチェックしそうな気がする.

追記

もっとよく調べてみたら,RailsAPI ドキュメントに例がちゃんと書いてあった. こちらの TechRacho の記事経由で RailsAPIドキュメント を見つけることができた. techracho.bpsinc.jp

api.rubyonrails.org

api.rubyonrails.org