Rails で option タグにカスタムアトリビュートを付けたい

at 2017-03-30 13:49 (UTC)

option タグを JavaScript で操作する場合、AJAX使うまでも無いような要件では data-kana のようなカスタムアトリビュートでやってしまいたい。

それを Rails のヘルパーで実現できるの?と思って調べてみたら案外簡単にできた。

<%= f.select :user_id, User.all.map { |u| [u.name, u.id, { data: { kana: u.kana } }] } %>

ブレースがネストしすぎてキモイというなら、もちろんこっちでもいい。

<%= f.select :user_id, User.all.map { |u| [u.name, u.id, { 'data-kana' => u.kana }] } %>