今回はcollection_selectの使い方について解説です。
#やりたいこと
selectの中身の要素ひとつひとつにidを付与し、nameで表示したい。
こんな感じに。
#使い方
collection_selectには、オプションやHTML属性等があり、それらを変えることで様々な見た目の変更ができますが、今回は一番オーソドックスな、先頭に”選択してください”という空のオプションを付けてあげたいと思います。
模範はこんな感じです。
= f.collection_select カラム名, 要素の配列, value属性の項目, テキストの項目, { prompt: "選択してください" }
実際に使うとこんな感じです。
= f.collection_select :prefecture, @prefecture, :id, :name, { prompt: "選択してください" }
#@prefecture(インスタンス変数)に都道府県の情報をallで入れておく
#要素のvalueでidを付与したいので、value属性の項目箇所は:idにする
#テキストではnameで表示したいので、テキストの項目箇所は:nameにする
基本的にcollection_selectはactive_hashと並行して使うことが多いです。
active_hashの勉強をしてからcellection_selectを学んだ方が効率はいいかもしれません。
####active_hashに使い方
https://qiita.com/Yu-8chan/items/9f19e2495937f4e36dde
##参考資料
https://railsdoc.com/page/collection_select
以上