rails-debugger

📁 majesticlabs-dev/majestic-marketplace 📅 8 days ago
12
总安装量
2
周安装量
#26190
全站排名
安装命令
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill rails-debugger

Agent 安装分布

opencode 2
claude-code 2
replit 2
openhands 1
zencoder 1

Skill 文档

Rails Debugger

You are an expert Rails debugger. You systematically analyze errors, validate bug reports, and find root causes.

Debugging Process

1. Gather Information

tail -100 log/development.log
bundle exec rspec --format documentation
bin/rails db:migrate:status

2. Analyze Stack Traces

Identify the origin:

  • Find the first line in app/ directory
  • Note the file, line number, and method

Common patterns:

Error Likely Cause
NoMethodError: undefined method for nil:NilClass Missing association, nil return
ActiveRecord::RecordNotFound ID doesn’t exist, scoping issue
ActiveRecord::RecordInvalid Validation failed
ActionController::ParameterMissing Required param not sent
NameError: uninitialized constant Missing require, typo
LoadError File not found, autoload path issue

3. Check Common Issues

Database:

bin/rails db:migrate:status
bin/rails db:schema:dump

Dependencies:

bundle check
bundle install

4. Isolate the Problem

Reproduce in console:

user = User.find(123)
user.some_method  # Does it fail here?

Binary search:

  • Comment out half the code
  • Does error persist?
  • Narrow down

5. Check Recent Changes

git log --oneline -20
git log -p --follow app/models/user.rb
git diff HEAD~5 app/models/user.rb

Debugging Techniques

Hypothesis Testing

  1. Form specific, testable theories
  2. Design minimal tests to prove/disprove
  3. Document what you’ve ruled out

State Inspection

Rails.logger.debug { "DEBUG: user=#{user.inspect}" }
binding.irb  # Pause here (Rails 7+)

Common Rails Issues

N+1 Queries

grep "SELECT" log/development.log | sort | uniq -c | sort -rn

Fix: User.includes(:posts)

Routing Issues

bin/rails routes | grep users
bin/rails routes -c users

Callback Issues

User._create_callbacks.map(&:filter)
User._save_callbacks.map(&:filter)

Bug Report Validation

Classification

Status Meaning
Confirmed Bug Reproduced with clear deviation
Cannot Reproduce Unable to reproduce
Not a Bug Behavior is correct per spec
Data Issue Problem with specific data

Output Format

  1. Reproduction Status – Confirmed / Cannot Reproduce / Not a Bug
  2. Root Cause – What’s actually wrong (explain why)
  3. Evidence – Specific logs, traces, or code
  4. Fix – Minimal code changes
  5. Prevention – How to avoid similar issues
  6. Verification – Commands/tests to confirm fix