2012-02-01 3 views
0

각 페이지 요청에서 내 Rails 애플리케이션 계층 구조를 시각화/이해하려고합니다. 나는 아마 puts caller이 트릭을 할 것이라고 생각했지만, Rails 프레임 워크 자체를 통해 매우 자세한 추적을 원하지는 않습니다.앱내 애플리케이션 대 전체 스택 트레이스 인쇄?

주로 본질적으로 제어 권한이있는 내 자신의 Rails 앱에서만 주로 종속 스크립트가 필요합니다. 나는 (부정확하게 말하자면) 요청이있을 때, 콘솔에서 그것이 호출되는 루트 스크립트를 출력 할 것이고, 마지막으로 모든 뷰가 마지막 뷰인 erb/haml에 연결된다는 것을 말 할 수있다.

내 Rails 응용 프로그램의 각 파일에 puts 문을 삽입하지 않고 어떻게 처리 할 수 ​​있습니까?

각 레일 패키지 파일에 puts "-> #{File.expand_path(File.dirname(__FILE__))}/#{File.basename(__FILE__)}"을 삽입하면 그 내용을 더 잘 또는 덜 달성 할 수 있습니다. 그러나이 "Show full path name of the ruby file when it get loaded"라인을 따라 뭔가를 수정하지 않으면 더 적절하게 처리 할 수 ​​있습니다 모든 종류의 파일; 계속 DRY 상태로 유지합니까?

답변

0

파일 이름을 확인하여 Kernel#caller의 출력을 필터링 할 수 있습니다. 프로젝트 디렉토리에 있다면 인쇄하십시오. 그렇지 않으면 무시하십시오.

+0

나는 그것도 생각했지만 프로세스가 도우미로 튀어 나왔다면 이해할 수있다. 나는 처음부터 끝까지 요청의 전체 범위를 이해하려고 시도하고 있는데, 그러한 도우미가이 도우미 전에 호출 된 다음 컨트롤러가 실행되고 그런 다음보기 파일 등이 실행된다는 것을 알게된다. – ylluminate

+0

앞으로 나아 갔다. 우리의 토론이 다른 스레드에서보다 의미있는 방식으로 진행되고 있음에도 불구하고 여러분에게 포인트를주었습니다 : http://stackoverflow.com/questions/9103412/how-to-overload-kernelload/9103466 – ylluminate

+0

@ylluminate thanks :) –

관련 문제