我在OpenClassrooms传递course。未能加载类型“形式” 500内部服务器错误 - InvalidArgumentException
我创建了一个简单的表单。
控制器:
// src/OC/PlatformBundle/Controller/AdvertController.php
namespace OC\PlatformBundle\Controller;
use OC\PlatformBundle\Entity\Advert;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AdvertController extends Controller
{
public function addAction(Request $request)
{
// On crée un objet Advert
$advert = new Advert();
// On crée le FormBuilder grâce au service form factory
$formBuilder = $this->get('form.factory')->createBuilder('form', $advert);
// On ajoute les champs de l'entité que l'on veut à notre formulaire
$formBuilder
->add('date', 'date')
->add('title', 'text')
->add('content', 'textarea')
->add('author', 'text')
->add('published', 'checkbox')
->add('save', 'submit')
;
// Pour l'instant, pas de candidatures, catégories, etc., on les gérera plus tard
// À partir du formBuilder, on génère le formulaire
$form = $formBuilder->getForm();
// On passe la méthode createView() du formulaire à la vue
// afin qu'elle puisse afficher le formulaire toute seule
return $this->render('OCPlatformBundle:Advert:add.html.twig', array(
'form' => $form->createView(),
));
}
}
查看:
{# src/OC/PlatformBundle/Resources/views/Advert/form.html.twig #}
<h3>Formulaire d'annonce</h3>
<div class="well">
{{ form(form) }}
</div>
而我得到的错误: 未能加载类型 “形式” 500内部服务器错误 - InvalidArgumentException
*本课程是为Symfony2编写的,我正在使用Symfony3。
什么类型的“形式”不能加载它?可能是什么问题?
什么2个参数?为什么你仍然使用'form.factory'? – Oksana