2013-03-11 1 views
1

다른 누군가가 작성한 응용 프로그램을 디버깅하려고합니다. 내 production.log, 난을 참조하십시오Rails 기능이 중단되지 않는 이유는 무엇입니까?

Processing by Friendster::AppsController#home as HTML 
    Parameters: {SOMESTUFF} 
Completed 500 Internal Server Error in 3ms 

를 그래서 나는 app/controller/friendster/apps_controllers로 이동하여 home 기능을보고 그것이 :

def home 
    puts "container" 
    abort "SHAMOON" 

    show_app_container 
    end 

:

def home 
    show_app_container 
    end 

그래서 내가 그것을 변경 그냥 어떤 종류의 오류나 로그를 볼 수 있습니다. 그러나 아무데도 나타나지 않습니다. 다르게 렌더링되는 것은 없습니다. 나는 캐싱이 계속 진행되고 있는지 또는 내가 올바른 기능을하고 있는지 알지 못합니다. 이 문제를 디버깅하는 데 큰 도움이 될 것입니다.

나는 또한 bundle exec rake routes를 실행하고 있어요 :

GET /publishers/:publisher_id/apps/:app_id/home(.:format) 꽤 몇 가지 경로가있다, 그래서 그게 무슨 뜻인지 모르겠어요하지만
friendster_app_home POST /publishers/:publisher_id/apps/:app_id/home(.:format)        {:action=>"home", :controller=>"friendster/apps"} 
        GET /publishers/:publisher_id/apps/:app_id/home(.:format)        {:action=>"home", :controller=>"friendster/apps"} 

. 이것은 유일한 friendster입니다.

편집 : 추가 자료 컨트롤러 부모는

class Friendster::BaseController < AppsController 
    protected 

end 
+0

컨트롤러 또는 그 부모 중 하나에 의해 적용된 before_filter 또는 around_filter가 있습니까? "home"액션이 호출되기 전에 무언가가 실패 할 수도 있습니다. 또한 스택 추적을 포함하여 브라우저에서 일부 출력을 볼 수 있어야합니다. 그렇지 않다면 개발 대신 프로덕션 환경에서 앱을 실행하고있을 것입니다. 개발 환경으로 전환 해보십시오. – meagar

+0

필자는 컨트롤러의 before_filter와 around_filter를 주석 처리했다. 그것은 부모가있다 :'class Friendster :: AppsController Shamoon

답변

1

어떤 도움 디버깅이 크게 감상 할 수있다.

pry gem#home의 내부 binding.pry를 호출 올립니다 콘솔에서 대화 형 디버거를 생성합니다 포함합니다.

def home 
    binding.pry 
    show_app_container 
end 
관련 문제