RailsでModelからselectボックスをつくる
collection_selectを使うといい感じにできる。例えば、あるグループに所属しているユーザーをプルダウンで選択させたい場合はこんな感じ。
<%= f.collection_select :user_id, @group.users.all, :id, :name %>
ってやるとuser.idがoptionのvalue、user.nameがoptionの中身になる。結果はこんな感じ。
<select id="user_id" name="task[user_id]"> <option value="1">user1</option> <option value="2">user2</option> </select>
デフォルトのテキストも表示したい場合はinclude_blankオプションを設定する。
<%= f.collection_select :assigned_user_id, @group.users.all, :id, :name, include_blank: '選択してね!' %>