2015-01-19 4 views
0

나는 아주 이상한 문제가 있습니다. 컨트롤러에 새로운 액션을 추가하고 라우팅 yml 파일에 등록합니다. route : 사용 가능한 경로를 표시합니다. 하지만 내가이 URL로 이동하려고하면 오류가 발생합니다. 경로는 존재하지 않습니다. 내가 뭘 잘못하고 있니? 오래된 경로가 올바르게 작동합니다. 아래 이 경로 캐치 경로 : 사로 잡았경로가 Symfony2에서 작동하지 않습니다.

vputi_company: 
path:  /company/{company_id} 
defaults: { _controller: VputiCompanyBundle:Company:showCompany, company_id: 0 } 

:

vputi_company_dashboard: 
path:  /company/dashboard 
defaults: { _controller: VputiCompanyBundle:Company:companyDashboard } 

나는 그것을 대체하고 모두가 제대로 작동 이상으로 설정합니다.

+0

뭔가 검사 할 코드를 제공하십시오 ... PS : 캐시 환경을 개선하려고 시도하는 경우 ... – Matteo

+0

게시 할 흥미로운 코드가 없습니다. 나는 캐시를 10 억 번 지웠다. 한 가지 조치의 반환을 변경하려고하지만 여전히 오래된 결과를 반환합니다. – nowiko

+3

경로의 순서도 중요합니다. 이전 경로가 처리하려는 URL을 잡을 가능성이 있습니까? – Rooneyl

답변

1

을 제공 그들이 목록이라면 어떤 컴퓨터 기능과 마찬가지로 효율적으로 시도합니다.
주어진 URL과 일치하는 경로를 찾으면 해당 경로를 실행 한 다음 중지합니다.

경로 예; 귀하의 예제 노선에서

vputi_company: 
path:  /company/{company_id} 
defaults: { _controller: VputiCompanyBundle:Company:showCompany, company_id: 0 } 
vputi_company_dashboard: 
path:  /company/dashboard 
defaults: { _controller: VputiCompanyBundle:Company:companyDashboard } 

{company_id}에 대한 변수를 나열하지 다음 경로 (당신이 원하는 일)에 전해 내려지고 따라서 첫 번째 경로를 충족 문자열 "대시 보드"이 될 수 있습니다.

재정렬 된 경로; 다음 변수로 두 번째 인수를 전달하지 않으면 당신이 좀 무슨 말을 다시 주문하여

vputi_company_dashboard: 
    path:  /company/dashboard 
    defaults: { _controller: VputiCompanyBundle:Company:companyDashboard } 
vputi_company: 
    path:  /company/{company_id} 
    defaults: { _controller: VputiCompanyBundle:Company:showCompany, company_id: 0 } 

는 문자열 대시 보드와 일치하는 회사입니다.

+0

도움을주었습니다. 그리고 지금 나는 나의 실수를 이해한다) – nowiko

0

경로에 Params를 잊었는지 확인하십시오. 마테오 명확 캐시 (PHP 응용 프로그램/콘솔 캐시를 지우기) 말했듯이 또한

을 (또는 어쩌면 당신은 마지막에 취소 요구를 "/"추가) 우리에게 루트는로 처리하는 코드

관련 문제