[Rails] 빨리 알고 싶은 디버깅용gem'bettererrors','binding_of_caller'
개시하다
며칠 전에 이토 씨의 이쪽 애니메이션을 봤어요(↓).
프로그래밍 초보자를 환영합니다!"오류가 발생했습니다. 어떻게 하면 좋을까요?"졸업의 기본과 비결-유튜브
"아니, 왜 더 일찍 안 봤어!"나는 구체적인 디버깅 수법에 대해 많은 해설이 있다고 생각한다.
다음은gem
better_errors
& binding_of_caller
의 도입 방법과 견해를 간단하게 요약한다.지금까지
puts デバッグ
binding.pry
rails serverのログ
이 보도에 도움이 되는 사람
이 보도의 장점
컨디션
better_errors란?
기본 오류 화면에 대한 간단하고 알기 쉬운 성형gem.
binding_of_이른바 콜러?
위
better_errors
와 함께 사용하면 브라우저irb
의gem를 사용할 수 있습니다.※ 본 기사에는 사용법은 언급되지 않았습니다.
가져오기 방법
Gemfile
group :development do
gem 'better_errors'
gem 'binding_of_caller'
end
Gemfile에 위 내용 추가bundle install
완성간단하다※ Docker 사용 시 시간이 조금 더 소요됨
app/config/environments/development.rb
BetterErrors::Middleware.allow_ip! "0.0.0.0/0"
가상 환경을 사용하는 사람들은 일을 잘 할 수 없을 것 같다.Docker를 사용하고 있지만, 위의 코드를 추가하고 서버를 다시 시작할 때 작업을 시작했습니다.
젬'베터 errors'가 움직이지 않을 때
사용 예
Argument Error가 나타날 때
form_with
사용 중 오류가 발생한 경우를 예로 들 수 있습니다.디스플레이가 이전의 빨간색 오류 화면에서 바뀌었다.
오류 메시지를 맨 위에 놓으면 변하지 않습니다
아래에는 두 개의 탭이 있습니다.이거 완전 편해요.
1. Application Frames
처음에는 Application Frames가 표시됩니다.
여기에는 자신이 쓴 코드를 대상으로 오류와 관련된 부분을 명시했다.
2. All Frames
그런 다음 All Frames를 클릭하면 자신이 쓴 곳 이외(gem 또는 Active Support 등)에 오류와 관련된 부분이 표시됩니다.
각자 클릭하면 코드가 표시됩니다.
예를 들어 이번에도
form_with
의 원본 코드가 나타날 것이다.↓ 뽑기
form_with
첫 줄이면 이런 느낌.def form_with(model: nil, scope: nil, url: nil, format: nil, **options, &block)
이렇게 하면 지정해야 할 매개 변수를 알 수 있는데, 이번에는"안 돼! 그러고 보니 내가 까먹었어
model:
!"알아볼 수 있어.편리합니다!
또
NoMethodError
에 나타나면~ for nil:NilClass
브라우저에서 변수의 내용을 직접 확인할 수 있어 편리하다.※ 이미지 아래쪽은 콘솔입니다.
끝말
끝까지 읽어주셔서 감사합니다
디버깅 방법은 학습을 시작하는 단계에서 가능한 한 많이 열거하는 것이 효율적이라고 생각하지만
better_errors
일찍 도입하고 싶다이토의 유튜브 배울 점이 많으니까 다른 영상도 보여주세요.
참조된 웹 사이트(지금까지 지원해 주셔서 감사합니다)
프로그래밍 초보자를 환영합니다!"오류가 발생했습니다. 어떻게 하면 좋을까요?"졸업의 기본과 비결-유튜브
프로그래밍 초보자를 환영합니다!"오류가 발생했습니다. 어떻게 하면 좋을까요?"졸업의 기본과 비결(해설영상 첨부)-큐타
젬'베터 errors'가 움직이지 않을 때
【Rails】better_errors와 bindingof_caller로 스스로 오류를 해결할 수 있습니다[초보자용] - Qiita.
Reference
이 문제에 관하여([Rails] 빨리 알고 싶은 디버깅용gem'bettererrors','binding_of_caller'), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/terufumi1122/items/a6f9a939dce25b2d9a3e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)