Rails의 디버깅 환경 정비 등
잘못된 화면을 쉽게 볼 수 있는 "better errors"
무기 Rails 표준 오류 화면은 다음과 같습니다.
group :development, :staging do
gem 'better_errors' #追加
end
기본 오류 화면
better_erross를 가져올 때 오류 화면
잘못된 화면에서 REPL의 "binding of calller" 사용 가능
오류 화면에서 rails c 대화를 실행할 수 있습니다
group :development, :staging do
gem 'better_errors'
gem 'binding_of_caller' #追加
end
rails의 컨트롤러를 편리하게 하는 "pry-rails"
pry-rails를 가져오면 rails의 컨트롤러가 시작될 때pry가 시작되며pry와pry-rails의 편리한 기능을 사용할 수 있습니다
pry-rails는pry에 의존하기 때문에 아래와 같이 pry도 동시에 설치합니다
group :development, :staging do
gem 'better_errors'
gem 'binding_of_caller'
gem 'pry-rails' #追加
end
브레이크 삽입하기
프로그램에서 아래 기술을 진행하면 인터럽트 정지 프로그램을 추가할 수 있습니다
# GET /boards
# GET /boards.json
def index
@boards = Board.all
pry.binding
end
이렇게 "pry.binding"을 기술하면 그 위치에서 프로그램 사용을 정지할 수 있습니다Started GET "/boards" for 127.0.0.1 at 2014-03-04 09:28:21 +0900
Processing by BoardsController#index as HTML
[1] pry(#<BoardsController>)> p @boards
Board Load (0.3ms) SELECT "boards".* FROM "boards"
#<ActiveRecord::Relation [#<Board id: 1, name: "board1", created_at: "2014-02-27 00:19:18", updated_at: "2014-02-27 00:19:18">]>
=> [#<Board id: 1, name: "board1", created_at: "2014-02-27 00:19:18", updated_at: "2014-02-27 00:19:18">]
[2] pry(#<BoardsController>)> Board.all
CACHE (0.0ms) SELECT "boards".* FROM "boards"
=> [#<Board id: 1, name: "board1", created_at: "2014-02-27 00:19:18", updated_at: "2014-02-27 00:19:18">]
라우팅 표시
show-routes에 루트를 표시할 수 있습니다
pry(main)> show-routes
Prefix Verb URI Pattern Controller#Action
positions GET /positions(.:format) positions#index
POST /positions(.:format) positions#create
new_position GET /positions/new(.:format) positions#new
edit_position GET /positions/:id/edit(.:format) positions#edit
position GET /positions/:id(.:format) positions#show
PATCH /positions/:id(.:format) positions#update
PUT /positions/:id(.:format) positions#update
DELETE /positions/:id(.:format) positions#destroy
stickies GET /stickies(.:format) stickies#index
POST /stickies(.:format) stickies#create
new_sticky GET /stickies/new(.:format) stickies#new
edit_sticky GET /stickies/:id/edit(.:format) stickies#edit
sticky GET /stickies/:id(.:format) stickies#show_______
모델 표시하기
show-models를 통해 모형을 표시할 수 있습니다
pry(main)> show-models
Board
id: integer
name: string
created_at: datetime
updated_at: datetime
Position
id: integer
board_id: integer
sticy_id: integer
kpt_type: integer
sequence: integer
created_at: datetime
updated_at: datetime
Sticky
id: integer
memo: string
deleted: boolean
created_at: datetime
updated_at: datetime
pry 디버깅을 통해 단계 실행 등'pry-debugger'
단계 등을 수행할 수 있습니다.
group :development, :staging do
gem 'better_errors'
gem 'binding_of_caller'
gem 'pry-rails'
gem 'pry-debugger' #追加
end
단축키 사용 가능~/.pryrc
if defined?(PryDebugger)
Pry.commands.alias_command 'c', 'continue'
Pry.commands.alias_command 's', 'step'
Pry.commands.alias_command 'n', 'next'
Pry.commands.alias_command 'f', 'finish'
end
브라우저에 루트를 표시할 수 있는 "sextant"
sextant를 가져오면 브라우저에서 경로를 확인할 수 있습니다.
group :development, :staging do
gem 'better_errors'
gem 'binding_of_caller'
gem 'pry-rails'
gem 'sextant' #追加
end
http://localhost:3000/rails/routes
라우트를 확인하기 위해 액세스할 수 있습니다.Reference
이 문제에 관하여(Rails의 디버깅 환경 정비 등), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kanekomasanori@github/items/e705d6b9fbfd6de6c63f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)