LoginSignup
4
8

More than 3 years have passed since last update.

Rails初心者が知っておくべきデバッグコマンド

Last updated at Posted at 2019-07-17

先輩に質問したとき困らないようにこれだけは知っておけ的デバッグコマンド

Rubyの試しうち

nodeはnode と打てばよかったけど、
rubyは ruby じゃなくて irb! (Interactive Rubyの略らしい)
exitかCtrl+Dで戻ります

$ irb
irb(main):001:0> 1 + 1
=> 2
$ irb
irb(main):001:0> ''.empty?
=> true
irb(main):002:0> exit

コンソールで試してみて

rails console (エイリアスは rails c)
↑のirbと同じ。対話形式で、Railsアプリケーションとやり取りができます
exitかCtrl+Dで戻ります

$ rails console
irb(main):005:0> User
=> User(id: integer, uuid: string, created_at: datetime, updated_at: datetime)

データベースはどうなってる?

rails dbconsole (エイリアスは rails db)
データベースの中身を確認します。
これはMySQLの例です

$ rails dbconsole
mysql > show tables; # テーブル一覧
mysql > show columns from users; # usersテーブルのカラム一覧
mysql> select * from users; # usersのデータ一覧

パスはどうなってる?

rails routes

config/routes.rb で定義した全ルーティングを確認するときに役立ちます

$ rails routes
users     GET  /users(.:format)          users#index
         POST  /users(.:format)          users#create
new_user  GET  /users/new(.:format)      users#new
edit_user GET  /users/:id/edit(.:format) users#edit

変数の中身は?

pry-byebug を使えば、binding.pry を記述した地点での変数の中身を確認したり、その地点からステップ実行をしたりできます。つまりブレークポイントを打つことができる。

例えば、このようなコード(適当)を実行すると

 def test
    hoge = 1
    binding.pry
    hoge = 2
    hoge = 3
 end

↓のようにコンソールで対話形式によって値を確認できます。
実際はシンタックスハイライトもついてとても見やすい!
nextで次の行へ移動、exitで戻ります

     6: def test
     7:   hoge = 1
     8:   binding.pry
 =>  9:   hoge = 2
    10:   hoge = 3
    11: end

pry> hoge
=> 1
pry> next
     6: def show
     7:   hoge = 1
     8:   binding.pry
     9:   hoge = 2
 => 10:   hoge = 3
    11: end
pry> hoge
=> 2
pry> exit;

使い方はこちら
pry-byebugでrubyをデバッグする - Qiita

参考

Rails のコマンドラインツール - Rails ガイド

4
8
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
4
8