rails控制台输出如下所示:
User.all
=> [#<User id: 1, name: "Michael Hartl", email: "mhartl@example.com",
created_at: "2011-12-05 00:57:46", updated_at: "2011-12-05 00:57:46">,
#<User id: 2, name: "A Nother", email: "another@example.org", created_at:
"2011-12-05 01:05:24", updated_at: "2011-12-05 01:05:24">]
我想知道是否有命令可以让它更容易阅读?例如,在MongoDB控制台中有一个 .pretty 命令,它将输出格式化得更加友好。但不确定Rails中是否有类似内容。
答案 0 :(得分:63)
更优雅的速记:
y User.all
答案 1 :(得分:29)
如果你不想使用宝石,这里是低租金版本:
puts User.all.to_yaml
答案 2 :(得分:10)
你也可以使用这个令人难以置信的宝石:
答案 3 :(得分:10)
我一直在使用pp
。 pp代表“漂亮的印刷品”。不需要宝石。
在rails控制台上尝试这样做:
pp User.all
如果您只是执行User.all,您将在记录显示中连续获取每个属性及其值,而不是捆绑它们。
这是文档:
https://ruby-doc.org/stdlib-2.1.0/libdoc/pp/rdoc/PP.html
我正在使用Rails 5.1.3和ruby 2.4.1p111,它已经安装在我的项目中。如果这不起作用,我想你必须做require 'pp'
。
我希望这会有所帮助。
答案 4 :(得分:5)
您可以尝试使用awesome_print gem: https://github.com/michaeldv/awesome_print
安装完成后,您可以使用以下方式打印任何对象:
ap User.all
答案 5 :(得分:4)
以下是一些选项
y your_code
gem install awesome_print
然后在irb或pry
require 'awesome_print'
ap your_code
答案 6 :(得分:2)
有一个叫做Jazz Hands的精彩宝石。在rails控制台中包含基于pry的增强功能,hirb和awesome_print。
P.S。您可能希望使用fork Jazz Fingers使其与Ruby 2.1.2
兼容答案 7 :(得分:1)
使用pry
没有撬:
2.3.1 :001 > SupplierTerm.first
SupplierTerm Load (39.4ms) SELECT "supplier_terms".* FROM "supplier_terms" ORDER BY "supplier_terms"."id" ASC LIMIT $1 [["LIMIT", 1]]
=> #<SupplierTerm id: "1bc48081-402a-41d9-b6af-d783c28bb363",
entity_id: "927b398f-2bbd-40cb-b668-eb284e26688d", uses_custom_terms:
false, requires_credit_check: false, requires_identity_check: false,
requires_guarantees: true, requires_trade_reference_check: true,
minimum_guarantees: 1, minimum_trade_references: 1, trade_account_limit:
20000, created_at: "2017-02-01 22:11:49", updated_at: "2017-02-01
22:11:49", created_by_id: "2c314f8a-6d84-48c8-a963-75130e97f1a6",
updated_by_id: "2c314f8a-6d84-48c8-a963-75130e97f1a6", questions: [],
minimum_approvers: 1, excluded_sources: nil>
使用pry:
2.3.1 :002 > pry
[1] pry(main)> SupplierTerm.first
SupplierTerm Load (0.4ms) SELECT "supplier_terms".* FROM "supplier_terms" ORDER BY "supplier_terms"."id" ASC LIMIT $1 [["LIMIT", 1]]
=> #<SupplierTerm:0x007fb4e1feff40
id: "1bc48081-402a-41d9-b6af-d783c28bb363",
entity_id: "927b398f-2bbd-40cb-b668-eb284e26688d",
uses_custom_terms: false,
requires_credit_check: false,
requires_identity_check: false,
requires_guarantees: true,
requires_trade_reference_check: true,
minimum_guarantees: 1,
minimum_trade_references: 1,
trade_account_limit: 20000,
created_at: Wed, 01 Feb 2017 22:11:49 UTC +00:00,
updated_at: Wed, 01 Feb 2017 22:11:49 UTC +00:00,
created_by_id: "2c314f8a-6d84-48c8-a963-75130e97f1a6",
updated_by_id: "2c314f8a-6d84-48c8-a963-75130e97f1a6",
questions: [],
minimum_approvers: 1,
excluded_sources: nil>