我的表单服务有问题...在我的页脚(在布局中),我有一个表单,但它不起作用,我不知道为什么。你怎么称呼" createForm"方法,因为Symfony2.5返回的错误是:
尝试调用方法" createForm"在课堂上 "昏暗\ WebsiteBundle \服务\ QuickContact"在 ... / Symfony的/ src目录/点心/ WebsiteBundle /服务/ QuickContact.php 第47行。
我的服务(命名空间Dim \ WebsiteBundle \ Service):
class QuickContact
{
private $request;
private $formFactory;
public function setRequest(RequestStack $request_stack)
{
return $this->request = $request_stack->getCurrentRequest();
}
public function setFormFactory($formFactory)
{
return $this->formFactory = $formFactory;
}
public function indexAction()
{
$Contact = new Contact();
# Create the form with the contact entity constraints
$form = $this->formFactory->create(new ContactType(), $Contact);
if($this->request->isMethod('POST'))
{
$form->bind($this->request);
if($form->isValid())
{
echo 'formulaire valide';
}
}
$this->request->getSession()->set('form', $form);
}
}
我的service.yml:
services:
dim_website.quickcontact:
class: Dim\WebsiteBundle\Service\QuickContact
calls:
- [setRequest, [@request_stack], setFormFactory, [@form.factory]]
在我的布局中,我调用索引方法:
{{ quickcontact.indexAction() }}
为了您的信息,我的ContactType和他的实体工作正常。
谢谢大家的帮助。 最好的问候,
答案 0 :(得分:1)
我不确定你为什么要像现在这样做,但要回答你的问题:你在createForm
课程上调用方法QuickContact
,显然没有&#39} ; t定义了createForm
方法。
你应该在你的情况下调用$this->formFactory->create(new ContactType(), $Contact)
。