html プルダウンボックスの記述方法 3種類

プルダウンボックスの記述方法は様々あるが

今回は自分が学んだ方法3種類を備忘録としてのせたいと思う

f:id:mi---tomo:20191104153852p:plain

プルダウンボックスとは↑の画像のようなクリックすると選択できる一覧が表示されるもので、

今回は①htmlに直接書く方法 ②モデルに書く方法 ③テーブルから持ってくる方法を紹介する

 

①htmlに直接書く方法

これは一番シンプルで選択する内容が少ない場合(例:性別など)直接記入になることが多いのではないかと思う

具体的にはoptionを使って

<select name="pref_id">
<option value="" selected>都道府県</option>
<option value="1">北海道</option>
<option value="2">青森県</option>
<option value="3">岩手県</option>
<option value="4">宮城県</option>
<option value="5">秋田県</option>

↑のように羅列する方法や

 

form_forで

<%= f.label :"くだもの" %>
<%= f.select :subject, [["りんご", "りんご"], ["みかん", "みかん"], ["バナナ", "バナナ"],  ["その他", "その他"]] ,class:"kudamono-list" %>

↑のように["表示する文字","パラムスで飛ばす文字"]として直せつリストを作成できる

 

②モデルに書く方法

html

<%= f.select(:sex, Sex::SEX_TYPES)%>

 

model

Class Sex < ActiveRecord:Base
SEX_TYPES = ["male", "female"]
end

 

③テーブルから情報をもらう方法

<%= f.collection_select :name, Carname.all, :address, :maker_name  %>

第1引数[:name]
値を登録するDB上のカラム名
第2引数[Carname.all]
プルダウンを構成するデータを取得するためのActiveRecordの取得メソッド
第3引数[:address]
DBに登録するカラム
第4引数[:maker_name]
プルダウンに表示するカラム

 

の3通りを学んだ!!