Я настоятельно рекомендую использовать гем irbtools, который включает в себя awesome_print или просто awesome_print.
Лично я считаю, что это быстрее и менее громоздко использовать в dev, а затем использовать интерполированные строки, иногда это единственный путь.
Вы можете сделать это для любого объекта, и он даст вам красиво отформатированный результат, будь то массив, строка или хеш или даже любой другой сложный объект, который у вас может быть - например, 3-мерный массив, напечатанный в виде древовидной структуры. Чтобы он был доступен в вашей среде rails - просто включите его в Gemfile в группе разработчиков или добавьте в .irbrc - чтобы он всегда был в вашей консоли irb. Тогда просто сделай
require "awesome_print"
ap MyGreatObject
вот пример вывода из одного из моих проектов
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
}