Je recommande fortement d'utiliser irbtools gem qui inclut awesome_print ou awesome_print. Personnellement, je trouve cela plus rapide et moins encombrant à utiliser en dev, puis en utilisant des chaînes interpolées, c'est parfois la seule façon d'y aller.
Vous pouvez le faire sur n'importe quel objet et vous obtiendrez une image bien formatée comme un tableau, une chaîne ou un hachage ou tout autre objet complexe que vous pourriez avoir - comme un tableau 3-dimentional imprimé comme une arborescence. Pour qu'il soit disponible dans vos rails, il suffit de l'inclure dans le groupe de développement Gemfile, ou de l'ajouter à .irbrc - pour toujours l'avoir dans votre console IRB. Ensuite, il suffit de faire
require "awesome_print"
ap MyGreatObject
est ici un exemple de sortie d'un de mes projets
ap Address
class Address < ActiveRecord::Base {
:id => :integer,
:address_line_1 => :string,
:address_line_2 => :string,
:address_line_3 => :string,
:city => :string,
:state => :string,
:zip => :string,
:country => :string,
:attn => :string,
:category_id => :integer,
:addressable_id => :integer,
:addressable_type => :string,
:created_at => :datetime,
:updated_at => :datetime
}
ap Address.first
Address Load (1.0ms) SELECT `addresses`.* FROM `addresses` LIMIT 1
#<Address:0x7bc5a00> {
:id => 1,
:address_line_1 => "1 Sample Drive",
:address_line_2 => nil,
:address_line_3 => nil,
:city => "Chicago",
:state => "IL",
:zip => "60625",
:country => "USA",
:attn => nil,
:category_id => 1,
:addressable_id => 1,
:addressable_type => "Warehouse",
:created_at => Tue, 10 Jan 2012 14:42:20 CST -06:00,
:updated_at => Tue, 17 Jan 2012 15:03:20 CST -06:00
}
Quelle est lourde à propos de l'interpolation? De quelle façon plus élégante pouvez-vous penser? – Chuck