simple_form と bootstrap を利用した環境で f.collection_select をどう書くか
前提
rails 4系
simple_form 3.2.1
bootstrap-sass 3.3.7
そのままだと(非bootstrap になる)
通常、collection_selectは以下のように記載しています。
= f.collection_select :option_id, OptionMaster.all, :id, :option_name, { prompt: true, class: 'form-control' }
しかし、これだと以下の画像のように、非bootstrapな表示をされてしまいます。
bootstrap に対応した書き方
下のように記載することで、bootstrapに対応した表示になります。
= f.input :option_master_id, collection: OptionMaster.all.map { |v| [v.option_name, v.id] }
f.input とした上で、collection: の後ろに配列で value と text の組を記載するのがポイントです。
公式も確認したのですが、いまいち曖昧に読み取れたので、ブログに書いてみました。