2013-08-07 4 views
4

Symfony 2.2.4를 사용하며 URL (Twig 포함)을 생성하려고 필사적으로 노력했습니다. 실제로, 나는 나의 URL cointain 점이 항상 동일한 과실을 얻는다. 예를 들어URL에 도트 (.)가 포함되어있을 때 Symfony2에서 오류가 발생했습니다.

: - 루트 : "my_route" - 첫 번째 매개 변수 : "ID" - 두 번째 매개 변수 : "제목"나뭇 가지에

: 나는 다음과 같은 오류를 얻을

{{ path("my_route", {"id" : 1984, "title" : "another...test"}) }} 

:

An exception has been thrown during the rendering of a template ("Parameter "title" for route "my_route" must match "[^/.]++" ("another...test" given) to generate a corresponding URL.") in ...

나는 Symfony 2.0.3을 사용해 보았지만 아무런 문제가 없습니다.

이 문제를 해결하기위한 아이디어가 있습니까?

도움을 주셔서 감사드립니다.

안부

+0

점과 일치 시키려면 슬래시 대신 백 슬래시를 사용하십시오. 요구 사항이 아닌 '정방향 슬래시 및 비 문자 일치'가 아니라 실제로 경로 구성을 볼 수 있습니다. – Flosculus

+0

더 정확하게 경로에 접미사를 추가하면 오류가 발생합니다. 예 : "pattern : /show/{id}/{title}.html" – JohnDoe66

+0

경로 구성 (yml, xml, annotations), 컨트롤러 작업 메소드 (및 해당되는 경우 클래스 주석) 및 URL (예 : 당신이 사용하고 있습니다. – Flosculus

답변

5

접미어를 사용하는 경우 "HTML"대신, 당신은 경로의 요구 사항에 추가해야하며, {_format}을 사용

예를 documentation에서 :

article_show: 
    path:  /id/{title}.{_format} 
    defaults: { _controller: AcmeDemoBundle:Article:show, _format: html } 
    requirements: 
     _format: html 
     title:  .+ 

편집 :

매개 변수에 점 (".")을 사용하지 마십시오. 당신은 정말로 당신의 타이틀의 슬러그를 사용해야합니다. 그러나 제목 매개 변수에 점이있는 것을 허용하려면 정규식을 사용해보십시오.

requirements: 
     _format: html 
     title:  .+ 
+0

도움을 주셔서 감사합니다,하지만 작동하지 않습니다 : 나는 정확히 같은 오류를 얻습니다 ... – JohnDoe66

+0

내 편집을 참조하십시오. –

+0

완벽하게 작동합니다! 고마워요! – JohnDoe66