[Rails] pry-rails 도입 ~ binding.pry 디버깅 용법

2947 단어 Rails초학자용

소개



이 기사는 아래를 참고하였습니다.
htps : // 피카와카. 코 m/라이 ls/pry

Pry는 Ruby의 irb처럼 rails의 콘솔에서 메소드 등을 사용할 수 있게 되는 기능입니다.

pry-rails 도입



pry-rails는 콘솔을 시작할 때 irb가 아닌 pry를 시작할 수있는 gem입니다.
기본적으로 rails c 명령으로 콘솔 모드로 전환하면 irb가 시작됩니다.
아래와 같이 gem을 추가해 bundle install를 실행하는 것으로, pry를 사용할 수 있게 됩니다.

Gemfile
# 省略

gem 'pry-rails`

binding.pry



설명한 부분에서 처리를 멈출 수 있습니다.
자신은 디버그와 테스트에 사용하고 있습니다.
디버깅은 선택 사항이 아닌 처리 (버그)를 찾는 것입니다.

books_controller.rb
 def create
    @book = BookOrder.new(bookorder_params)
    binding.pry
    if @book.save
      redirect_to root_path
    else
      render :index
    end
  end


binding.pry에서 처리를 멈추면 터미널이 다음과 같습니다.
콘솔이 시작되고 입력 대기 상태입니다.
여기에 "params""@book"를 입력하여 내용을 확인할 수 있습니다.
Image from Gyazo

다음은 binding.pry 실행 중에 사용할 수 있는 명령의 예입니다.
좋으면 공식도 봐주세요.
htps : // 기주 b. 코 m / r 음 g / 프라이 Ls


명령
내용


step
스텝 인

다음
스텝 오버

finish
스텝 아웃

continue
디버깅 종료(중단된 처리 계속)

[변수명]
변수 내용을 출력

$[메소드 이름]
메소드 정의 보기

show-stack
스택과 레이스 보기(필요 pry-stack-explorer)

!!!
프로세스를 종료합니다. 그 후에 몇 개 binding.pry 가 있어도 빠질 수 있지만 rails s 등은 종료한다

show-routes
현재 라우팅 확인

show-models
현재 모델 확인

show-source
클래스, 모듈, 메소드의 정의를 확인

show-doc
클래스, 모듈, 메소드 문서 확인


결론



Rails에서는, 「MVC의 흐름」과, 「지금 자신은 무엇을 위해서 무엇을 하고 있는 것인가」를 항상 파악해 두는 것이 성장하는 요령이다 나중에 날마다 느끼고 있습니다.
초학자만의 괴로움도 있을까 생각합니다만, 프로그래밍은 즐겁고,
미래의 자신에게 최고급 투자라고 생각하므로,
배움을 즐기자!

좋은 웹페이지 즐겨찾기