Как подавить вывод на консоль Rails - PullRequest
3 голосов
/ 08 марта 2012

Как только я делаю рельсы c и получаю несколько строк, формирую БД примерно так:

users = User.find(:all,:conditions => ["some conds"])

тогда пользователи говорят 20 результатов

Если я тогда сделаю

users.each do |u|
  puts u.name if u.gender == 'male'
end

затем после печати всех мужских имен консоль снова выводит все содержимое объекта users. Мне не нужно видеть это снова. Как я могу подавить это? Все, что меня интересует, это вывод пут

1 Ответ

19 голосов
/ 08 марта 2012

Вот так работает консоль.Вы вводите выражение, оно печатает его значение.

users.each do |u|
  puts u.name if u.gender == 'male'
end

Значением этого кода является users сам объект, и он правильно напечатан.То, что вы печатаете с puts, является побочным эффектом.

Вы все еще можете отменить печать полного содержимого users, изменив возвращаемое значение этого выражения.Например, вот так:

users.each do |u|
  puts u.name if u.gender == 'male'
end && false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...