我正在寻找一种简洁明了的方法,在Rails控制台中打印我5行2列数据库的内容。有什么好的想法吗?我已经在Google上搜索过,但没有找到太多相关信息。
我认为你应该首先使用hirb gem,它提供了一种非常愉悦的方式来打印你的表格列。
gem install hirb
gem 'hirb'
rails c
在控制台中启用 hirb:
require 'hirb'
Hirb.enable
如果您想限制显示的行数,可以使用以下代码:
如果你想要限制要展示的行数,你可以这样做:
Model.limit(n)
例如:User.limit(5)
您还可以使用select指定要显示的字段:
User.select("name, email").limit(5)
hirb
之后,我还推荐使用 wirble
和 awesome-print
。相关链接:http://iain.nl/customizing-irb-2010-edition - Nick$ 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
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 |
+---------------+----+
是的。看看 hirb
gem。还值得尝试的是 wirble
和 awesome_print
。