Rails控制台限制文本输出。我怎样才能看到这一切?

时间:2012-03-22 13:32:28

标签: ruby-on-rails irb rails-console

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

从数据库中打印大对象或文本字段会产生如下输出:

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

(为了简洁而插入...。输出包含大量文本。)

您可以看到输出被截断/上限/限制,因此在显示'ni'之后没有任何内容(应该至少为'l',为'nil')。

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

我认为它必须是某个地方的设置,但我似乎无法找到它。

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

3 个答案:

答案 0 :(得分:3)

我想推荐pry,它很好地支持Rails,你可以用它来查看ActiveRecord实例的细节。

答案 1 :(得分:1)

我不认为irb或Rails控制台是问题所在。这不会从plain irb或rails c

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

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

答案 2 :(得分:0)

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