为啥 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 控制台中打印出格式化输出?的主要内容,如果未能解决你的问题,请参考以下文章