web系エンジニアを目指す私、siが学習のアウトプットをメインにプログラミングについての記事を書いていきます。

rails consoleの使い方 「irb」と「pry」の違い、導入方法について

 
この記事を書いている人 - WRITER -

 

こんにちは!

web系エンジニアとして自社開発企業への転職を目指して、

プログラミング学習中のsiです!

 

この記事の対象者

  • rails consoleってなに?って方
  • 「irb」と「pry」の違いがよく分からないって方
  • 「pry」を使ってみたいけど使い方が分からない!って方

 

今回はrails consoleについて、

また「irb」と「pry」の違いについて解説していきます!

 

結論から言ってしまうと、「irb」よりも「pry」の方が断然便利です!

そのため、この記事では、「pry」の導入方法・使い方を主に解説していきます^ ^

 

※この記事で出てくる「%」はプロンプトなので実際に入力する必要はありません

 

rails consoleとは?

 

rails consoleとはRubyのREPLを使用するためのRailsコマンドになります。

 

REPLとは:

Read-Eval-Print-Loopの略称で、

入力・評価・出力の流れをループすることを意味します。

また、REPLは対話型評価環境とも言われたりします。

つまり、入力・評価・出力、といった対話的なプロセスを経てコードを実行していく

ということです。

 

REPLを理解するにあたって、こちらの記事がとても参考になりました^ ^

 

そして、Rubyには「irb」と「pry」といった2つのREPLがあり、

これらはRubyのメソッドを実行したり、

データベースに直接データを保存したりすることが出来ます。

 

irbとpryの違いについて

 

irbでは実行出来ないコマンドもpryでは実行出来たりなど、

irbよりもpryの方が機能的に優れたものになってます。

また、pry-byebugというgemを入れることで、デバックを行うことも出来たりします。

 

基本的にRailsプロジェクト内のターミナルでrails consoleを実行すると、

デフォルトでは下のように「irb」が起動します

% rails console
Running via Spring preloader in process 12282
Loading development environment (Rails 6.0.3.4)
irb(main):001:0>

 

irbよりもpryの方が機能的に優れてるならpryを使いたいですよね!

次は、pryを使用するための導入手順について解説します♪

 

pry導入手順

 

1.Gemfileに以下のように記述する

gem 'pry-rails'

 

2.bundle installを行う

% bundle install

 

3.rails consoleを起動

% rails console
Running via Spring preloader in process 12554
Loading development environment (Rails 6.0.3.4)
[1] pry(main)>

このようにpry(main)>と表示されてればOKです^ ^

 

pryでのみ使用できるコマンド

 

irbでは使用出来ないが、pryでは使用できる主なコマンドについて紹介します!

コマンド 使用方法
show-model <モデル名> 特定のモデルのカラム名とデータタイプの確認
show-models 全てのモデルのカラム名とデータタイプの確認
show-routes ルーティングの確認(rails routesよりも高速)
show-middleware プロジェクトで使用しているミドルウェアの表示
recognize-path <パス> ルーティングの確認(コントローラーとアクション)

 

今回は例として、

「show-model <モデル名>」と「recognize-path <パス>」を実行してみます。

 

pryでshow-models Postを実行

[2] pry(main)> show-model Post
Post
id: integer
title: string
content: text
created_at: datetime
updated_at: datetime

# このようにPostモデルの詳細を確認することが出来る

 

pryでrecognize-path /を実行

[2] pry(main)> recognize-path /
{:controller=>"posts", :action=>"index"}

# このように「/」というパスのコントローラー名とアクション名を確認することが出来る

 

今回紹介したコマンド以外にも、

pryでは便利なコマンドがたくさんあります^_^

 

最後に

 

今回はrails consoleで使用できる「irb」と「pry」について、

解説してみました^ ^

 

両者の違いがわかってスッキリですね!

 

今後も、どんどん記事投稿を行なっていくので、

よければ、応援の方お願い致します(*^ω^*)

 

それでは!

 

この記事を書いている人 - WRITER -

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


Copyright© .i DO WHAT I WANT , 2021 All Rights Reserved.