似乎Rails控制台将其字符输出限制为大约880个字符。如何删除此限制?
打印大型对象或数据库中的文本字段将给出如下输出:
=> #<User id: ....
system_password: ni
(为简洁起见,插入了...
。输出包含很多文本。]
您会看到输出被截断/限制/限制,因此在显示'ni'之后什么也不显示(应该至少为'l',对于'nil')。
这太烦人了。它不允许我完全检查数据库中包含大量文本的字符串/文本字段。
我想它一定是某个地方的设置,但是我似乎找不到它。
如何删除此限制,以便可以看到所有文本输出?
我不认为irb或Rails控制台是问题所在。这不会从普通irb或rails c
中截断:
(1..100000).reduce(''){|a,i| a << i.to_s}
Rails控制台输出来自inspect
方法,因此可能是ActiveRecord正在执行截断(code here)。如果要自定义输出,应该可以在用户模型中覆盖inspect
方法。
我想推荐pry,它很好地支持Rails,您可以用它查看ActiveRecord实例的详细信息。
我遇到了同样的问题,只要求了我需要的一个字段就解决了这个问题。例如,说Vote.find(38)
产生带有...
的文本,但是当我直接进入Vote.find(38).description
时,它具有未简化的版本。