Rails控制台中是否有一种方法可以打印数据库内容表?

Zac*_*iro 7 ruby ruby-on-rails rails-console

我正在寻找一种干净简单的方法在Rails控制台中打印包含2列的5行数据库的内容.

有任何想法吗?我用Google搜索,但没有找到太多.

Amo*_*tir 15

我认为你应该首先使用hirb gem,它提供了一种非常愉快的打印表格列的方法.

  1. 安装hirb gem:gem install hirb
  2. 将此gem添加到项目的Gemfile中:gem 'hirb'
  3. 转到项目的根文件夹并运行Rails控制台: rails c
  4. 在控制台中启用hirb:

    require 'hirb'
    Hirb.enable
    
    Run Code Online (Sandbox Code Playgroud)

如果要限制要显示的行数,可以执行以下操作:

Model.limit(n)
Run Code Online (Sandbox Code Playgroud)

例如:

User.limit(5)
Run Code Online (Sandbox Code Playgroud)

您还可以使用select指定要显示的字段:

User.select("name, email").limit(5)
Run Code Online (Sandbox Code Playgroud)

  • 在调查`hirb`之后,我还推荐`wirble`和`awesome-print`.相关:http://iain.nl/customizing-irb-2010-edition (2认同)

Chr*_*yle 6

你也可以checkout 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
Run Code Online (Sandbox Code Playgroud)