30代未経験からWebエンジニアになった私のプログラミング学習日記

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© 30代未経験からのプログラミング , 2021 All Rights Reserved.