【Rails】formのselectにclassが設定できない問題
form_forで書いていたものをform_withに修正したところ、classに書いたBootstrapが反応しなくなりました。
f.select :month, options_for_select(['10', '11', '12']), class: "form-control"
本来ならform-controlを指定したので、デザインがBootstrapのそれらしいものになるはずなのですが、どうもデフォルトにままです。
結論から言うとoptions_for_selectの後に{}を追加することで
f.select :month, options_for_select(['10', '11', '12']),{}, class: "form-control"
これで正常に動作します。
どうしてこうすることで正常になるかと言うと、{}の部分には本来、
selectのpromptだったりinclude_blankを設定する場所だそうで、classをそこに指定してしまうと反映されないという理由らしいです。
form selectは頻繁に使うので、是非覚えておきたいところです。