une sortie de la console Rails ressemble à ceci:
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">]
Je me demandais s'il y avait une commande qui pourrait la rendre plus facile à lire? Par exemple, la console MongoDB contenait une commande .pretty qui formatait la sortie un peu plus facilement. Mais pas sûr s'il y a quelque chose de similaire dans Rails ou pas.
Aussi, vous pouvez utiliser ce bijou incroyable:
Sténographie un peu plus élégante:
y User.all
Si vous ne voulez pas utiliser un joyau, voici la version à faible loyer:
puts User.all.to_yaml
J'ai utilisé pp
. Le pp signifie "jolie impression". Aucune gemme requise.
Essayez de faire ceci sur la console Rails:
pp User.all
Vous obtiendrez chaque attribut et sa valeur dans l’enregistrement sous forme de ligne si vous faites simplement User.all.
Voici la documentation:
https://Ruby-doc.org/stdlib-2.1.0/libdoc/pp/rdoc/PP.html
J'utilise Rails 5.1.3 et Ruby 2.4.1p111 et il est venu déjà installé dans mon projet. Si cela ne fonctionne pas, j'imagine que vous devez faire require 'pp'
. J'espère que cela vous aidera.
Vous pouvez essayer le bijou awesome_print: https://github.com/michaeldv/awesome_print
Une fois installé, vous pouvez imprimer n'importe quel objet en utilisant:
ap User.all
Voici quelques options
y your_code
gem install awesome_print
Puis dans irb ou pry
require 'awesome_print'
ap your_code
Il existe un bijou génial appelé Jazz Hands . Inclut les améliorations basées sur les leviers, hirb et awesome_print dans la console Rails.
P.S. Vous voudrez peut-être utiliser fork Jazz Fingers pour le rendre compatible avec Ruby 2.1.2
Utilisez pry
Sans levier:
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>
Avec levier:
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>