#【結論】 form.collection_select
こんな感じのやつが作りたい。
僕は現在、ものを管理するアプリ「monosiri」を開発しています。
ものを登録する際に、カテゴリーを選択します。
categoriesテーブル一覧からフォームで選べるようにします。
例
_form.html.haml
= form_with model: thing, class: "form" do |form|
= form.collection_select(:category_id, @categories, :id, :name, { prompt: "カテゴリーを選択" }, { class: "form__category" })
略
引数を一つずつ解説します。
第1引数:category_id
→thingsテーブルのどのカラムに保存するか
第2引数:@categories
→コントローラーで@categories = Category.all を記述。全レコードを持ってくる。
第3引数:id
→category_idに保存されるカラム。
第4引数:name
→選択肢に表示されるカラム名。
第5引数:prompt
→未選択時に表示されるメッセージ。
第6引数:class
→クラス名。
比較的簡単にドロップダウンリストが作れました。 知っていれば簡単に作れるものって意外と多いのかも。。。
ではまた!