我正在將代碼更新爲Symfony3標準,但我遇到了一些表單問題。我試了好東西,但沒有什麼工作。Symfony2:將{{form_enctype}}更改爲{{form_start}}並使用自定義路徑
在我的樹枝:
<form action="{{ path('paces_colle_gestioncsv_imprimer',
{ 'id' : document.id }) }}" method="post" {{ form_enctype(form) }}>
</form>
{{form_enctype}}是因爲Symfony的2.8棄用。我得的路徑,控制器將其更改爲{{form_start}}
在我的控制器:
public function ajouterErrataAction($id)
{
$em = $this->getDoctrine()->getManager();
$document = $em->getRepository('PACESColleBundle:DocumentCSV')->find($id);
if(!$document){
throw $this->createNotFoundException('Document inexistant');
}
$colle = $document->getColle();
$form = $this->createForm(ajouterErrataType::class);
return $this->render('PACESColleBundle:Classement:ajouterErrata.html.twig', array(
"colle" => $colle,
"document" => $document,
"form" => $form->createView()
));
}
我formType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('errata', TextareaType::class, array('required' => false,
'attr' => array('class'=>'ckeditor')
))
->add('precision', TextareaType::class, array('required' => false,
'attr' => array('class'=>'ckeditor')))
->add('submit',SubmitType::class, array('label' => 'Imprimer'));
;
}
我已經嘗試過這一點,但動作不會被渲染。 控制器: '$形式= $這 - >的CreateForm(ajouterErrataType ::類,陣列( '動作'=> $這 - > generateUrl( 'paces_colle_gestioncsv_imprimer',陣列( 'ID'=> $文檔 - >的getId())), '方法'=> 'POST' ));' –
方法的CreateForm的第二個參數是被綁定到形成數據。使用第三個參數: '$ this-> createForm(ajouterErrataType :: class,_ [entity or array] _,**('action'=> $ this-> generateUrl('paces_colle_gestioncsv_imprimer',array('id'=> $ {document.getId())),'method'=>'POST'))**);' 或嘗試模板: '{{form_start(form,{'action':path路線]), '方法': 'POST'})}}' – auroree
抱歉耽擱:我用別的東西所佔據。 我有一個很難搞清楚,我的這種形式的實體爲空。 –