LoginSignup
1
0

More than 1 year has passed since last update.

Railsコンソールで出力したデータを見やすくする

Posted at

mac OS バージョン11.6
Rails 6.0.4

pry(REPL環境)へHirbを導入する

railsでは標準のirbよりも、高度なpryがコンソールツールとしてよく使われています。

HirbはRailsコンソールでテーブルデータを見やすく表示してくれるGemです。
pryまたはirbでモデル表示「[モデル名].allなど」をおこなうと表示があまり見やすくありません。そこで、Hirbでは表形式で表示してくれます。

こんな感じに。
11f4b500a0f6cb379bff792a39ee27e7.png
コンソールを見やすくするために、これからpryとHirbを導入していきます。

手順

①まず、Gemfileにgemをインストールします。

.Gemfile
    gem 'pry-rails'

  gem 'hirb' 
  gem 'hirb-unicode' 

hirb-unicode
hirb-unicodeは日本語などマルチバイト文字が入る場合に、出力が乱れないようにするために必要です。

% bundle install

.pryrcファイルの追加
.pryrcファイルをプロジェクト直下に以下の内容で作成します。

% touch .pryrc
.pryrc
begin
  require 'hirb'
rescue LoadError
  # Missing goodies, bummer
end
 
if defined? Hirb
  # Slightly dirty hack to fully support in-session Hirb.disable/enable toggling
  Hirb::View.instance_eval do
    def enable_output_method
      @output_method = true
      @old_print = Pry.config.print
      Pry.config.print = proc do |*args|
        Hirb::View.view_or_page_output(args[1]) || @old_print.call(*args)
      end
    end
 
    def disable_output_method
      Pry.config.print = @old_print
      @output_method = nil
    end
  end
 
  Hirb.enable
end

そのままコピペで大丈夫です。

ただ内容はバージョンにより更新される場合があるので、最新版は以下のサイトより確認ください。
https://github.com/pry/pry/wiki/FAQ#hirb

動作確認

% rails c

pryコンソールモードでモデルの情報を表示します。(例:Userモデル)

pry(main)> User.all

実行結果として表形式で表示されるようになっていればOKです。

参考:http://to-developer.com/blog/?p=1919

1
0
0

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
1
0