【发布时间】:2016-07-26 09:19:47
【问题描述】:
有一个表单可以创建链实体。
class ChainType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, array('label' => 'Company name'))
->add('logoImageURL', TextType::class, array('label' => 'Company logo'));
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'CoreBundle\Entity\Chain'
));
}
}
这是创建表单和保存实体的 newAction
/**
* Creates a new Chain entity.
*
* @Route("/new", name="chain_new")
*/
public function newAction(Request $request)
{
$chain = new Chain();
$form = $this->createForm(ChainType::class, $chain);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($chain);
$em->flush();
return $this->redirectToRoute('chain_show');
}
return $this->render(
'AdminBundle:ChainPanel:new.html.twig',
array('form' => $form->createView())
);
}
这是一个创建表单的按钮
<button type="button" class="btn btn-primary">
<a href="{{ path('chain_new') }}">
Add Chain
</a>
</button>
问题
当我单击“添加链”按钮时,不会创建表单,我只是被重定向到“链显示”路线。我的代码有什么问题?
更新 - 我的解决方案
在控制器中,我将 newAction 放在 showAction 之前。这个固定的问题。但是我找不到解释
【问题讨论】: