2013-08-10 3 views
1

Я угадываю, как получить только имена всех записей из базы данных. Самый простой способ это что-то вроде этого:получить все user.name из базы данных rails

@user=User.all 
@list=[] 
@user.each do|u| 
    @list.push(u.name) 
end 

, но я уверен, что, если он должен быть oneline запрос на IRB, который должен соответствовать. У кого-нибудь есть идея?

ответ

7

Вы должны попробовать:

User.all.collect (&: имя)

или

User.select ("имя")

+0

Отлично! Большое спасибо! –

+0

Пользовательский класс по-прежнему создается для каждого результата. В зависимости от ограничений вашей памяти это может быть не проблема, но, тем не менее, она использует память, которую просто не нужно использовать. Попробуйте 'pluck' – CuriousMind

8

Там будет встроенный метод для выбора одного атрибута, pluck

User.pluck :name 
Смежные вопросы