Hejo, robie sobie formularz do tworzenia nowego obiektu w bazie danych, gdy chcę go wczytać napotykam error:
Could not load type "submit" 500 Internal Server Error - InvalidArgumentException
Mój kontroler:
<?php namespace ManagerBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use ManagerBundle\Entity\Book; use ManagerBundle\Form\BookType; use Symfony\Component\Form\Extension\Core\Type\TextType; /** * */ class BookController extends Controller { public function indexAction(){ return $this->render('ManagerBundle:Book:index.html.twig'); } public function showAction($id){ return $this->render('ManagerBundle:Book:show.html.twig'); } public function newAction(){ $book = new Book(); $form = $this->createForm(BookType::class, $book, array( 'action'=>$this->generateUrl('book_create'), 'method'=>'POST' )); $form->add('submit', 'submit', array('label'=>'Create Book')); return $this->render('ManagerBundle:Book:new.html.twig', array( 'form'=>$form->createView() )); } public function createAction(Request $request){ } public function editAction($id){ return $this->render('ManagerBundle:Book:edit.html.twig'); } public function updateAction(Request $request, $id){ } public function deleteAction(Request $request, $id){ } }
Form/BookType.php:
<?php namespace ManagerBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextType; /** * */ class BookType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options){ $builder ->add('title') ->add('description') ->add('pages'); } public function setDefaultOptions(OptionsResolverInterface $resolver){ $resolver->setDefaults(array('data_class'=>'ManagerBundle\Entity\Book')); } public function getName(){ return 'bookkeeper_managerbundle_book'; } }