Вывод команды в консоль rails: Объяснение нежелательного вывода? - PullRequest
3 голосов
/ 30 апреля 2010

Я работаю с консолью рельсов и некоторыми моделями. Я бегу такие вещи, как:

Model.find(:all).each do |x| p x.name end

, что приятно, это позволяет мне увидеть все значения определенного столбца, но после того, как он напечатает эти строки, он напечатает всю модель.

Почему он это делает? Как я могу это остановить?

1 Ответ

12 голосов
/ 30 апреля 2010

Консоль всегда печатает возвращаемое значение команды. И возвращаемое значение для .each является исходным массивом.

Таким образом, вы либо возвращаете нужное вам значение:

Model.find(:all).map{ |x| x.name }

Или запретить вывод, возвращая что-то вроде nil:

Model.find(:all).each{ |x| p x.name }; nil
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...