Buenas tardes, otra vez vuelvo acudir al foro por otro problema.
A ver si soy capaz d explicarme: Tengo un controller con varios formularios y me parece muy engorroso tener la creación y la ejecución de todos los formularios en el mismo action, entonces he pensado en hacer una función de cada formulario, os enseño el 1º:
Método de creación del formulario
Código PHP:
public function createFormAddSerie($request){
$serieForm = new Series();
$form = $this->createForm(new RegisterSerieType, $serieForm);
if($request->getMethod() == 'POST'){
$form->bindRequest($request);
if($form->isValid()){
$manager = $this->getDoctrine()->getManager();
$manager->persist($serieForm);
$manager->flush();
return $this->redirect($this->generateURL('loadSeries', array('state' => $serieForm->getState())));
}
}
return $form;
}
Llamada desde el action principal del controller
Código PHP:
$request = $this->getRequest();
$form = $this->createFormAddSerie($request);
Return del controlador donde renderiza
Código PHP:
return $this->render('TMKSeriesBundle:Default:series.html.twig', array(
'series' => $series,
'title' => $title,
'form' => $form->createView()
));
Decir que teniendo todo el código en el mismo método (el action principal del controller) el formulario funciona perfectamente (creación y ejecución), pero a la hora d tenerlo separados, al crearlo va perfecto, pero al ejecutarlo, cuando entrar en el if para persistir me devuelve un FatalErrorException a la hora de hacer el createView(), pero, no debería hacerlo porque si lo persiste (lo hace, comprobado en la base de datos) debería redireccionar y volver a cargar el controlador pero si entrar en el sitio de persistir.
Espero haberme explicado bien. Gracias