如果我遍历给定模型的所有实例并从每个实例中输出一些内容,最终,irb仍然会打印整个对象。如果对象最终需要数百行,那么在我看到我真正想要的东西之前,这将是一条漫长的路。有没有办法在Rails控制台中禁用这个功能?
如果你不想完全禁用回显,你也可以在一条命令行中调用多个表达式。只有最后一个表达式的输出会被显示。
big_result(input); 0
调用 conf.echo = false
将不会打印返回值。这对于任何irb会话都有效,而不仅限于Rails控制台。
如果您想使其永久生效,请将其添加到您的irb配置中。
echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc
conf.echo = false
会出现NameError: undefined local variable or method 'conf' for main:Object from (pry):6:in '<main>'
的错误。 - stevecconf.echo = false
,在没有安装 pry-rails 的应用中可以正常工作,而在安装了 pry-rails 的应用中则无法正常工作。我想知道是否有适用于使用 pry 的应用程序的等效方法? - stevec如果你想暂时停止控制台打印返回值,可以在循环或函数末尾但在按下返回键之前发出nil
语句。
record.each do |r|
puts r.properties
end; nil
如果您想减少输入,它也可以是一个数字。但在某些情况下,可能会令人困惑,而这些情况我无法想象。
record.each do |r|
puts r.properties
end; 0
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;
(在最后不要忘记;
)
big_result(input); nil
。 - nroose