Подтвердить что ты не робот

Создание рельсов консоли вывода немного больше

вывод консоли rails выглядит следующим образом:

User.all
=> [#<User id: 1, name: "Michael Hartl", email: "[email protected]",
created_at: "2011-12-05 00:57:46", updated_at: "2011-12-05 00:57:46">,
#<User id: 2, name: "A Nother", email: "[email protected]", created_at:
"2011-12-05 01:05:24", updated_at: "2011-12-05 01:05:24">]

Мне было интересно, есть ли команда, которая упростит чтение? например, в консоли MongoDB была команда .pretty, которая форматировала выход немного более дружелюбно. Но не уверен, есть ли что-то подобное в Rails или нет.

4b9b3361

Ответ 2

Немного более элегантная стенография:

y User.all

Ответ 3

Если вы не хотите использовать драгоценный камень, вот небольшая версия аренды:

 puts User.all.to_yaml

Ответ 4

Вы можете попробовать драгоценный камень awesome_print: https://github.com/michaeldv/awesome_print

После установки вы можете распечатать любой объект, используя:

ap User.all

Ответ 5

Я использовал 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'. Надеюсь, это поможет.

Ответ 6

Существует потрясающий камень, называемый Jazz Hands. Включает улучшения на основе pry, hirb и awesome_print в консоли rails.

P.S. Вы можете использовать fork Jazz Fingers, чтобы сделать его совместимым с Ruby 2.1.2

Ответ 7

Вот несколько опций

формат yaml

y your_code

awesome_print

gem install awesome_print

Затем в irb или pry

require 'awesome_print'
ap your_code

Ответ 8

Используйте pry

Без 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>