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';
}
}