今さら聞けない Ruby on Rails デバッグ方法

2024.08.01

18

こんにちは!原です!

皆さん Ruby on Rails のデバッグでどうやってますか?

IDE のブレークポイントを使うことが多いと思います。

IDE の設定って面倒だし、ちょっと変数を見てみたいときなどに役立つと思います。

binding.irb

コード中に binding.irb を差し込みます

下記のような感じで binding.irb を差し込むことによって、そこでブレークしてくれます。

class SessionsController < ApplicationController
  def create
    reset_session
    auth = request.env['omniauth.auth']
binding.irb
    user = User.find_or_create_by(uid: auth.uid, provider: auth.provider) do |u|
      u.email = auth.info.email
      u.name = auth.info.name
    end
……
end

View にも差し込めます

view にも差し込めて結構便利だったりします。

<% binding.irb %>
<% if session[:user_id] %>
  <p>Signed in as <%= current_user.name %></p>
  <%= link_to 'Sign out', logout_path, method: :delete %>
<% else %>
  <%= link_to 'Sign in with Cognito', '/auth/cognito' %>
<% end %>
この記事をシェアする