LoginSignup
32
22

More than 5 years have passed since last update.

最後にnilを付けてrails consoleで無駄に表示される大量のデータを抑制する

Last updated at Posted at 2017-04-07

よくある問題

rails consoleを起動して、データの確認をしたい場合、こういうスクリプトを実行すると・・・

# activeなユーザーを表示したい
User.where(active: true).each do |u|
  puts "#{u.id} #{u.name}"
end

こんなふうに表示されます。

User.where(active: true).each do |u|
  puts "#{u.id} #{u.name}"
end
1 山田花子
2 田中一郎
8 鈴木二郎
・
・
・
1029 伊藤淳一
=> [#<User id: 1, email: "hanako@example.com", created_at: "2014-10-22 05:48:25", updated_at: "2014-12-18 23:46:45", name: '山田花子', active: true>, #<User id: 2, email: "ichiro@example.com", created_at: "2014-10-22 05:48:25", updated_at: "2014-12-18 23:46:45", name: '田中一郎', active: true>, #<User id: 8, email: "jiro@example.com", created_at: "2014-10-22 05:48:25", updated_at: "2014-12-18 23:46:45", name: '鈴木二郎', active: true>, ・・・以下膨大なUserデータがひたすら続く

問題は最後の=>からうしろの部分です。
場合によってはこの部分が画面全体を覆い尽くしてしまうこともあります。
しかもこちらとしては特に興味のないデータです。

解決策:nilを付けて => から後ろの部分を消す

というわけで、処理の一番最後に ; nil を付けてあげます。

User.where(active: true).each do |u|
  puts "#{u.id} #{u.name}"
end; nil

こうすると、=>のうしろがnilだけになります。これでスッキリ!

User.where(active: true).each do |u|
  puts "#{u.id} #{u.name}"
end
1 山田花子
2 田中一郎
8 鈴木二郎
・
・
・
1029 伊藤淳一
=> nil

=>の後ろに表示される出てくるデータが多すぎて困っている人はお試しあれ!

Special thanks

このTipsは仕事中に@ruziaの画面操作を覗いているときに初めて知りました。
Thanks!

32
22
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
22