8

Railsコンソールで2列の5行データベースのコンテンツを印刷するためのクリーンでシンプルな方法を探しています。

何か案は?グーグルで検索しましたが、あまり見つかりませんでした。

4

4 に答える 4

17

最初に、テーブルの列を印刷するための非常に快適な方法を提供するhirbgemを使用する必要があると思います。

  1. hirb gemをインストールします:gem install hirb
  2. このgemをプロジェクトのGemfileに追加します。gem 'hirb'
  3. プロジェクトのルートフォルダーに移動し、Railsコンソールを実行します。rails c
  4. コンソールでhirbを有効にします。

    require 'hirb'
    Hirb.enable
    

表示する行数を制限する場合は、次の操作を実行できます。

Model.limit(n)

例えば:

User.limit(5)

select:を使用して、表示するフィールドを指定することもできます。

User.select("name, email").limit(5)
于 2012-05-05T18:25:46.650 に答える
7

table_printをチェックアウトすることもできます。これは、次のように機能します。

$ 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
于 2013-09-25T19:00:46.197 に答える
2

hirb

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  |
+---------------+----+
于 2017-03-01T23:04:16.070 に答える
1

はい。hirb宝石をチェックしてください。また、試す価値はwirbleありawesome_printます。

于 2012-05-05T18:24:51.813 に答える