이전에 본 적이없는 Symfony 2와 관련된 문제가있는 것처럼 보입니다.매개 변수 추가시 symfony 2 경로 오류
매개 변수를 사용하지 않고 완벽하게 작동하는 경로가있어서 컨트롤러까지 연결하고 올바른보기를 표시합니다. 나는 다음과 같이 단일 매개 변수를 취하도록 경로를 업데이트 :
# Note routing
gibbo_dummy_notes_Add:
pattern: /notes/add/{notebook}
defaults: { _controller: GibboDummyBundle:Note:add, notebook: 0}
requirements:
_method: POST|GET
을 그러나 지금 시도하고이 경로 I 오류 The controller must return a response (null given). Did you forget to add a return statement somewhere in your controller?
를 얻을 수 notes/add/test
에 액세스하는 경우. 매개 변수를 제거하면 완벽하게 작동합니다 notes/add
.
이 설정은 내 앱에서 매개 변수를 사용하는 나머지 경로와 정확히 동일합니다.
컨트롤러의 작업이 확실히 응답 개체를 반환합니다. die('test');
을 작업의 맨 위에 놓고 URL에서 매개 변수를 제거하면 die 문에 도달하고 'test'가 표시되지만 URL에 매개 변수를 추가하면 오류가 표시되어 컨트롤러에 명확하게 도달하지 못합니다 또는 매개 변수를 포함 할 때 조치를 취할 수 있지만 경로가 올바르게 설정되었다고 말할 수있는 한 정상 경로를 얻지 못하면 URL에 문제가 있는지를 예상 할 수 있습니다.
임 dev에 환경에서 그것을 실행하고 나는 사람이 내가 잘못 일을 할 수있는 일에 대해 되거 수
public function addAction($notebook)
{
$pageTitle = 'Note';
$form = $this->createForm(new NoteType(), null, array(
'validation_groups' => array('add')
));
$request = $this->getRequest();
if ($request->isMethod('POST')) {
$form->bind($request);
if ($form->isValid()) {
/** @var $em \Doctrine\ORM\EntityManager */
$em = $this->getDoctrine()->getManager();
/** @var $note Note */
$note = $form->getData();
$note->setNotebook();
$em->persist($note);
$em->flush();
return $this->redirect($this->generateUrl('gibbo_dummy_note_View'));
}
}
return $this->render('GibboDummyBundle:Note:new.html.twig', array(
'pageTitle' => $pageTitle,
'form_add' => $form->createView(),
'selected' => 'codebooks'
));
}
처럼 보이는 NoteController 컨트롤러 내부의 다른 브라우저/삭제 캐시 등 조치를 시도?
내 생각이 이상한 이유로 다른 경로를 일치 할 것이다. 프로파일 러에서 라우터와 일치하는 경로를 확인할 수 있습니다! –
루트 디렉토리에'php app/console router : debug' 라우트를 찾아서 올바른 위치로 이동했는지 확인하십시오. –
응답 라우터에 감사드립니다 : debug는 이상한 것을 보여주지 못했습니다 : gibbo_codekeeper_notes_Add POST | GET/notes/add/{notebook } –