ノンカフェインであなたにやさしい

Ruby,Rails,HTML,CSS,Reactなど

Rails selectタグにクラスを付ける

f.select :foo, { a: 1, b: 2 }, class: 'bar'
=> <select name="model[foo]"> # あれ?classが居ない

時々ど忘れしてドキュメントを読みに行くやつ。

この様に定義されています。

def select(method, choices = nil, options = {}, html_options = {}, &block)

ref: rails/form_options_helper.rb at 71c7fd101324046995d8f7e51e78475c0e37ec1a · rails/rails · GitHub

optionsとhtml_optionsが違う👀
というわけで分けて書いてあげましょう

f.select :foo, { a: 1, b: 2 }, {}, class: 'bar'
=> <select name="model[foo]" class="bar">

ヤッタネ🎉