2012-05-05 2 views
4

2列の5行データベースの内容をRailsコンソールに表示する、きれいで簡単な方法を探しています。Railsコンソールにデータベースの内容の表を印刷する方法はありますか?

アイデア?私はグーグルで回ったが、あまり見つけられなかった。

+0

私は少し混乱していますnはまた、チェックアウトtable_print、それはこのような何かをうまくいきます。 2列の_5要素データベースとはどういう意味ですか? –

+0

5行2列 –

答えて

12

まず、テーブルの列を印刷するのに便利な方法を提供するhirb gemを使用する必要があります。

  1. HIRB宝石インストール:HIRBを有効rails c
  2. :プロジェクトのルートフォルダにgem 'hirb'

  3. 行くとRailsコンソールを実行します。gem install hirb
  4. は、プロジェクトのGemfileにこの宝石を追加しますコンソールで:

    require 'hirb' 
    Hirb.enable 
    

あなたが表示する行数を制限したい場合は、あなたが行うことができます。例えば

Model.limit(n) 

を:

User.limit(5) 

また、あなたは、表示するフィールドを指定することができますselectを使用:

User.select("name, email").limit(5) 
+2

「hirb」を調べた後、「wirble」と「awesome-print」もお勧めします。関連:http://iain.nl/customizing-irb-2010-edition – Nick

1

はい。チェックアウト:hirb gemまた試してみる価値はwirbleawesome_printです。

5

hirb

$ gem install table_print 
$ rails c 
> require 'table_print' 
> tp Book.all 
AUTHOR   | SUMMARY       | TITLE 
----------------------------------------------------------------------- 
Michael Connelly | Another book by Michael Con... | The Fifth Witness 
Manning Mardale | From acclaimed historian Ma... | Malcolm X 
Tina Fey   | Worth it. -Trees    | Bossypants 
0

require 'hirb' 
puts Hirb::Helpers::Table.render(ARRAY_OF_OBJECT_OR_HASHES) 

# Examples: 

puts Hirb::Helpers::Table.render([[1, "Terminator I"], [2, "Terminator II"]]) 

+---+---------------+ 
| 0 | 1    | 
+---+---------------+ 
| 1 | Terminator I | 
| 2 | Terminator II | 
+---+---------------+ 

puts Hirb::Helpers::Table.render([{ id: 1, name: "Terminator I" }, { id: 2, name: "Terminator II" }]) 

+----+---------------+ 
| id | name   | 
+----+---------------+ 
| 1 | Terminator I | 
| 2 | Terminator II | 
+----+---------------+ 

# specifying the order of the fields 
puts Hirb::Helpers::Table.render([{ id: 1, name: "Terminator I" }, { id: 2, name: "Terminator II" }], fields: [:name, :id]) 

+---------------+----+ 
| name   | id | 
+---------------+----+ 
| Terminator I | 1 | 
| Terminator II | 2 | 
+---------------+----+ 
関連する問題