为啥 awesome_print 不在我的 Rails 4.2 控制台中打印出格式化输出?

Posted

技术标签:

【中文标题】为啥 awesome_print 不在我的 Rails 4.2 控制台中打印出格式化输出?【英文标题】:Why isn't awesome_print printing out formatted output in my Rails 4.2 console?为什么 awesome_print 不在我的 Rails 4.2 控制台中打印出格式化输出? 【发布时间】:2021-11-23 05:34:52 【问题描述】:

我使用的是 Rails 4.2。我的 Gemfile 中有这个……

gem 'awesome_print', '~>1.8'

这是它在 Gemfile.lock 中的显示方式

awesome_print (1.8.0)

但是,当我登录到 rails 控制台时,对象并没有以漂亮的形式打印出来

$ rails c
Loading development environment (Rails 4.2.10)
irb: warn: can't alias context from irb_context.
(dev)> User.last
  User Load (0.7ms)  SELECT  `users`.* FROM `users`  ORDER BY `users`.`id` DESC LIMIT 1
=> #<User id: 88836, dob: "1960-10-02", first_name: “Test”, email: “test@test.com, created_at: "2021-10-01 14:11:40", updated_at: "2021-10-01 14:11:46", middle_name: nil, last_name: “Test”, active: true, nick_name: nil, …

我不确定我还需要做什么才能在 Rails 控制台中打印出漂亮的对象。我认为包括宝石会为我解决这个问题。

【问题讨论】:

如果您想在控制台中进行漂亮的打印,您需要添加“ap”(显然是为了出色的打印)作为对象的前缀。所以这里应该是“ap User.last”。确保您下次阅读文档;) 也许我需要修改我的问题或开始一个新的问题,但是有什么方法可以让打印默认漂亮吗?也就是不用加任何特殊前缀? "我认为包含 gem 会为我解决这个问题。" - 不是默认情况下,没有。但是您可以将您的 irb/pry 设置为使用 awesome_print 进行格式化。自述文件中对此进行了介绍。 【参考方案1】:

如 cmets 中所述,根据 README -- https://github.com/awesome-print/awesome_print,通过添加这些行来编辑 ~/.irbrc

require "awesome_print"
AwesomePrint.irb!

将 awesome_print 设置为 IRB(rails 控制台)的默认值。

【讨论】:

以上是关于为啥 awesome_print 不在我的 Rails 4.2 控制台中打印出格式化输出?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的页脚不在页面底部?

为啥不在我的应用程序中使用 scrollView 方法?

为啥我的应用不在打开 txt 文件的应用列表中?

我的 fetch 请求返回的数据不在我的数据库中,为啥?

为啥 php curl 不在我的 cookiefile 中保存 cookie?

为啥我的 UIButton 不在我认为应该在的位置?