RailsのViewを書いていて、formのhelperを使おうとしたとき、styleを当てたいためにclassを指定しようとした時に書き方をよく間違える。
# classは適用されない。 <%= f.select :book_id, Book.all.collect { |b| b.title, b.id ] }, { class: 'form-control' } %>
正しくはこうだ。
# classは適用される。 <%= f.select :book_id, Book.all.collect { |b| b.title, b.id ] }, {}, { class: 'form-control' } %>
毎回あんまりにも間違えるので改めてRDocを参照した。なるほど、自分は機能的optionsを書くべきところにhtml_optionsを突っ込もうとしていた。
select(method, choices = nil, options = {}, html_options = {}, &block)
https://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-select
これまで実務ベースで色々覚えてきてしまったので基本的なところがごっそり抜けている傾向がある。 適宜立ち返ってドキュメント参照しないといけないなと痛感した。