[Rails] pry-rails 도입 ~ binding.pry 디버깅 용법
소개
이 기사는 아래를 참고하였습니다.
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"를 입력하여 내용을 확인할 수 있습니다.
다음은 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의 흐름」과, 「지금 자신은 무엇을 위해서 무엇을 하고 있는 것인가」를 항상 파악해 두는 것이 성장하는 요령이다 나중에 날마다 느끼고 있습니다.
초학자만의 괴로움도 있을까 생각합니다만, 프로그래밍은 즐겁고,
미래의 자신에게 최고급 투자라고 생각하므로,
배움을 즐기자!
Reference
이 문제에 관하여([Rails] pry-rails 도입 ~ binding.pry 디버깅 용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yait/items/1bf1a87227281cd5a6e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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"를 입력하여 내용을 확인할 수 있습니다.
다음은 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의 흐름」과, 「지금 자신은 무엇을 위해서 무엇을 하고 있는 것인가」를 항상 파악해 두는 것이 성장하는 요령이다 나중에 날마다 느끼고 있습니다.
초학자만의 괴로움도 있을까 생각합니다만, 프로그래밍은 즐겁고,
미래의 자신에게 최고급 투자라고 생각하므로,
배움을 즐기자!
Reference
이 문제에 관하여([Rails] pry-rails 도입 ~ binding.pry 디버깅 용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yait/items/1bf1a87227281cd5a6e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def create
@book = BookOrder.new(bookorder_params)
binding.pry
if @book.save
redirect_to root_path
else
render :index
end
end
Rails에서는, 「MVC의 흐름」과, 「지금 자신은 무엇을 위해서 무엇을 하고 있는 것인가」를 항상 파악해 두는 것이 성장하는 요령이다 나중에 날마다 느끼고 있습니다.
초학자만의 괴로움도 있을까 생각합니다만, 프로그래밍은 즐겁고,
미래의 자신에게 최고급 투자라고 생각하므로,
배움을 즐기자!
Reference
이 문제에 관하여([Rails] pry-rails 도입 ~ binding.pry 디버깅 용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yait/items/1bf1a87227281cd5a6e7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)