2011-03-18 3 views
0

레일스가 내 특정 액션 실행을 건너 뛰는 것 같은 기괴한 문제가 있습니다. 나는 이것을 실행하고있는 두 가지 환경을 가지고있다. 하나는 (개발) 잘 작동하고 동작을 실행한다. 다른 (스테이징)이 조치를 실행하지 않습니다.Rails 라우팅 문제, 작업을 건너 뛰었습니다.

오류는 Rails가 JSON (템플릿 없음)으로 응답해야하는 주어진 작업에 대한 views 디렉토리에서 템플릿을 찾을 수 없다는 오류입니다. 로깅 작업을 완료했는데 단순히 실행되지 않습니다. 레일즈는 뷰가 존재하지 않는다고 즉시 실패합니다.

내 기지를 커버하기 위해 코드가 실제로 동일하고 경로 파일이 정확히 동일하며 레일 버전 (3.0.1)이 두 env간에 정확히 동일하다는 것을 확인했습니다. 어떤 도움이라도 훌륭 할 것입니다.

답변

0

분명히 이것은 facepalm 부서에 있습니다. 우리 개발자 중 한 명이 다른 파일 이름을 가진 새로운 컨트롤러를 커밋했지만 다른 컨트롤러 이름은 같은 컨트롤러 클래스 이름을 커밋했습니다. 개발 레일은 새 컨트롤러를 먼저로드해야하므로 이전 컨트롤러가이를 덮어 쓰고 문제가 숨겨져 있어야합니다. 하지만 무대에서는 새로운 컨트롤러가 마지막으로로드되어 컨트롤러 클래스와 메서드를 잠식하여 모든 것을 망가 뜨리는 것으로 보입니다.

다른 사람들이 레일에서이 문제가 발생했는지 알고 싶습니다. 동일한 정렬 메커니즘을 항상 사용하도록 컨트롤러 로딩 코드를 패치해야 할 수도 있습니다 (파일 이름이 가장 자연 스럽습니다).