我在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