(by popular request, posting as a real answer)
What I don't like about the fl00r solution is that it creates an instance of a new user object for each entry in the database; which just doesn't scale. This is great for a table with 10 emails, but once you start to infiltrate thousands, you will run into problems, mainly with Ruby memory consumption.
, connection.select_values ARel:
User.connection.select_values(User.select("email").to_sql)
. , User.select("email")
, , " ". , , .
: String
, User
, . ( , ). , map
.
Rails 2.3...
SQL , , .
User.connection.select_values("SELECT email FROM users")
, Rails 3.