2014-12-18 5 views
0

Я пытался создать простую форму, которая указала имя пользователя в поле выбора.Rails form select population

<%= f.select :user, @users.all {|a| [a.name]} %> 

@users просто User.all

Что Чет я провел лучшую часть 20 минут чтения через некоторые документы запутанных рельсов, пытаясь найти простой ответ.

Я не могу понять, как заполнить выпадающий список именами пользователей.

Любая помощь будет оценена

+1

Используйте опцию 'collection':' f.select: user, collection: @ users.all.map {| a | [a.id, a.name]} '... Возможно, с' id' и 'name' отменено (я не могу вспомнить) ... Я даже не уверен, требуется ли« карта », Rails может автоматически -умнознаю это – Carpetsmoker

ответ

2

Там довольно несколько способов сделать это, но Rails предоставляет collection_select помощник, который делает его легко:

<%= f.collection_select :user_id, @users, :id, :name %> 

Это будет использовать user_id как выберите имя, @users, как коллекции и, наконец, выберет id и name у каждого пользователя и использовать его в качестве значения и текста опции.

Смежные вопросы