【问题标题】:Rails console limits text output. How do I get to see it all?Rails 控制台限制文本输出。我怎样才能看到这一切?
【发布时间】:2012-03-22 13:32:28
【问题描述】:

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

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

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

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

您可以看到输出被截断/加盖/限制,因此在“ni”之后什么都不会显示(应该至少是一个“l”,对于“nil”)。

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

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

如何消除这个限制,以便我可以看到所有的文本输出?

【问题讨论】:

  • 我认为这可能与输出中的 UTF-8 字符有关..

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,并且通过请求我需要的一个字段来解决它。例如,说Vote.find(38) 会产生带有... 的文本,但是当我直接转到Vote.find(38).description 时,它会得到未缩短的版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-25
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-12
        相关资源
        最近更新 更多