Rails控制台限制文本输出。我如何才能看到全部?

问题描述 投票:3回答:3

似乎Rails控制台将其字符输出限制为大约880个字符。如何删除此限制?

打印大型对象或数据库中的文本字段将给出如下输出:

=> #<User id: ....
system_password: ni

(为简洁起见,插入了...。输出包含很多文本。]

您会看到输出被截断/限制/限制,因此在显示'ni'之后什么也不显示(应该至少为'l',对于'nil')。

这太烦人了。它不允许我完全检查数据库中包含大量文本的字符串/文本字段。

我想它一定是某个地方的设置,但是我似乎找不到它。

如何删除此限制,以便可以看到所有文本输出?

ruby-on-rails irb rails-console
3个回答
1
投票

我不认为irb或Rails控制台是问题所在。这不会从普通irb或rails c中截断:

(1..100000).reduce(''){|a,i| a << i.to_s}

Rails控制台输出来自inspect方法,因此可能是ActiveRecord正在执行截断(code here)。如果要自定义输出,应该可以在用户模型中覆盖inspect方法。


3
投票

我想推荐pry,它很好地支持Rails,您可以用它查看ActiveRecord实例的详细信息。


0
投票

我遇到了同样的问题,只要求了我需要的一个字段就解决了这个问题。例如,说Vote.find(38)产生带有...的文本,但是当我直接进入Vote.find(38).description时,它具有未简化的版本。

© www.soinside.com 2019 - 2024. All rights reserved.