Saya ingin sesuatu seperti ini terlihat bagus:
>> ProductColor.all
=> [#<ProductColor id: 1, name: "White", internal_name: "White", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 2, name: "Ivory", internal_name: "Ivory", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 3, name: "Blue", internal_name: "Light Blue", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 4, name: "Green", internal_name: "Green", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">]
Ini tidak berfungsi:
>> ProductColor.all.inspect
=> "[#<ProductColor id: 1, name: \"White\", internal_name: \"White\", created_at: \"2009-06-10 04:02:44\", updated_at: \"2009-06-10 04:02:44\">, #<ProductColor id: 2, name: \"Ivory\", internal_name: \"Ivory\", created_at: \"2009-06-10 04:02:44\", updated_at: \"2009-06-10 04:02:44\">, #<ProductColor id: 3, name: \"Blue\", internal_name: \"Light Blue\", created_at: \"2009-06-10 04:02:44\", updated_at: \"2009-06-10 04:02:44\">, #<ProductColor id: 4, name: \"Green\", internal_name: \"Green\", created_at: \"2009-06-10 04:02:44\", updated_at: \"2009-06-10 04:02:44\">]"
Dan tidak juga ini:
>> ProductColor.all.to_yaml
=> "--- \n- !ruby/object:ProductColor \n attributes: \n name: White\n created_at: 2009-06-10 04:02:44\n updated_at: 2009-06-10 04:02:44\n id: \"1\"\n internal_name: White\n attributes_cache: {}\n\n- !ruby/object:ProductColor \n attributes: \n name: Ivory\n created_at: 2009-06-10 04:02:44\n updated_at: 2009-06-10 04:02:44\n id: \"2\"\n internal_name: Ivory\n attributes_cache: {}\n\n- !ruby/object:ProductColor \n attributes: \n name: Blue\n created_at: 2009-06-10 04:02:44\n updated_at: 2009-06-10 04:02:44\n id: \"3\"\n internal_name: Light Blue\n attributes_cache: {}\n\n- !ruby/object:ProductColor \n attributes: \n name: Green\n created_at: 2009-06-10 04:02:44\n updated_at: 2009-06-10 04:02:44\n id: \"4\"\n internal_name: Green\n attributes_cache: {}\n\n"
Pikiran?
ruby-on-rails
irb
Tom Lehman
sumber
sumber
YAML::ENGINE.yamler = 'syck'
..irbrc
, alat konsol lain, atau konfigurasi konsol lainnya (seperti, menjadi pengembang kontrak dengan akses terbatas ke wadah / server produksi )Anda harus mencoba hirb . Ini adalah permata yang dibuat untuk memformat objek di konsol ruby. Skrip / sesi konsol Anda akan terlihat seperti ini:
Anda dapat mempelajari lebih lanjut tentang hirb di beranda .
sumber
Cetak mengagumkan juga bagus jika Anda menginginkan sebuah objek berlekuk. Sesuatu seperti:
Untuk mengintegrasikan secara default dengan irb Anda / rel / membongkar konsol, menambah Anda
~/.irbrc
atau~/.pryrc
berkas:sumber
Cukup berhasil!
Sumber: https://stackoverflow.com/a/4830096
sumber
Dapat juga dicatat bahwa Anda dapat menggunakan:
untuk output dalam format Json daripada Yaml
sumber
Hai, Anda juga dapat mencoba ini di skrip / konsol Anda jika
tidak bekerja untukmu
Coba ini:
kemudian
sumber
Saya punya beberapa masalah untuk membuatnya bekerja jadi saya akan menambahkan dua sen saya ke awesome_print menambahkan ini ke Gemfile Anda, terutama di
:development
gem 'awesome_print', require: 'ap'
lalu masuk
rails console
Anda dapat melakukan
> ap Model.all
Itu dia. Namun Anda juga bisa menambahkanke ~ / .irbrc Anda, cara ini awesome_print akan diperlukan kapan saja Anda membuka konsol dan Anda cukup melakukannya
Model.all tanpa perlu mengetik ap
sumber
Anda juga dapat mencoba yang berikut ini untuk sekelompok objek
Ini akan memberi Anda hasil yang lebih baik , seperti
Memanggil
to_yaml
atribut daripada objek itu sendiri menyelamatkan Anda dari melihat isi penuh objek dalam outputAtau
puts Object.last.attributes.to_yaml
untuk satu objekSteno juga tersedia:
y Object.last.attributes
sumber
Saya pikir solusi ini adalah yang paling akurat. Anda harus mencoba ini:
Ini akan memberi Anda output yang sangat bagus dibandingkan dengan format YAML:
sumber
Gunakan
irbtools
permata.Ini akan secara otomatis memformat output konsol plus Anda akan mendapatkan banyak fitur hebat.
sumber
Anda mungkin ingin mendefinisikan metode pemeriksaan ProductColor untuk mengembalikan sesuatu yang Anda anggap bagus. Sebagai contoh:
Setelah itu hasil dari ProductColor.all akan ditampilkan sebagai sesuatu seperti [<1 - Putih (Putih)>, ...]. Tentu saja Anda harus menyesuaikan metode inspeksi dengan kebutuhan Anda, sehingga itu akan menampilkan semua informasi yang Anda butuhkan dengan gaya yang Anda sukai.
Sunting: juga jika masalahnya adalah kurangnya jeda baris dalam output, Anda dapat mencoba
yang harus menyisipkan linebreak jika perlu
sumber
require 'pp'
tidak mungkin dirails console --sandbox
. Untuk beberapa alasan saya dapatkanfalse
ketika saya mencoba untuk memintapp
. Ups! sepertinyapp
sudah diperlukan secara default dirails console
. Saya baru saja melakukannyapp Model.connection_handler
dan mendapat hasil cetak yang cukup besar. Terima kasih.require
kembalifalse
, itu berarti bahwa file telah dimuat.inspect
tidak ditampilkan saat melakukan hal yang benarProductColor.all
?Untuk menambah saran Alter Lago untuk menggunakan AwesomePrint, Jika Anda tidak bisa / tidak seharusnya / tidak ingin menambahkan permata awesome_print ke Gemfile proyek Anda, lakukan ini:
gem install awesome_print
Edit ~ / .irb.rc dan tambahkan ini:
$LOAD_PATH << '/Users/your-user/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib'
require 'awesome_print'
(Tentu saja memastikan jalur dan versinya benar)
sumber