Как получить список писем от Devise? - PullRequest
0 голосов
/ 15 сентября 2011

Если я использую Devise с Rails, как мне перейти от: User.all

к массиву адресов электронной почты, которые я могу поместить в список выбора?User.all.email?

Нужно ли перебирать список или есть более элегантный способ?

1 Ответ

1 голос
/ 15 сентября 2011

Вы можете сделать (только Ruby 1.9.2):

User.all.map(&:email)

Это простая форма, позволяющая вызывать один метод для каждого объекта и возвращать результаты в массиве.

Вы также можете (как 1.8.7, так и 1.9.2):

User.all.map{|u| u.email}

Это позволяет выполнять более сложные манипуляции, например:

User.all.map{|u| [u.id, u.name + ": " + u.email]

Что, конечно, возвращает пару идентификатора и строку, содержащую имя и адрес электронной почты для каждого пользователя.

Эти методы на самом деле имеют меньшее отношение к devise и больше связаны с Enumerable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...