如果我循环遍历给定模型的所有实例并从每个实例输出内容,最后,irb仍会打印整个对象。
如果对象最终需要数百行,那么在看到我实际需要的内容之前,这将是一个漫长的过程。有没有办法在rails控制台中禁用它?
答案 0 :(得分:90)
调用conf.echo = false
,它不会打印返回值。这适用于任何irb会话,而不仅仅是Rails控制台。
如果您想将其永久化,请将其添加到您的irb配置中。
echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc
答案 1 :(得分:90)
如果您不想一般禁用回声,您也可以在一个命令行中调用多个表达式。只显示最后一个表达式的输出。
big_result(input); 0
答案 2 :(得分:31)
要暂时停止控制台打印返回值,您可以在循环或函数结束时发出nil
语句,但在按返回之前。
record.each do |r|
puts r.properties
end; nil
如果你想减少打字,它也可以是一个数字。但是在我无法想到的场景中可能会让人感到困惑。
record.each do |r|
puts r.properties
end; 0
答案 3 :(得分:1)
这让我很沮丧,因为我使用的是 pry-rails
gem,有些解决方案对我不起作用。
所以这里有两个步骤:
;
就足以使打印输出静音。ActiveRecord::Base.logger.silence do
# code here
end
如果你想运行这个
User.all do |user|
puts user.first_name
end
然后这将确保没有其他东西打印到屏幕上:
ActiveRecord::Base.logger.silence do
User.all do |user|
puts user.first_name
end
end;
(不要忘记最后的 ;
)