问题描述
我想知道这段代码是否提出得当。这是一种表单,其动作是当前页面以外的另一页面,为此,我不得不在动作页面上定义另一表单。我不得不在操作页面(在app_lucky_number中)定义另一种形式,这听起来有点奇怪,所以我问这个问题。我想知道这是在symfony中使用表单的正确方法。 这是defaultController:
<?PHP
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Component\HttpFoundation\JsonResponse;
use AppBundle\Form\GenusFormType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use AppBundle\Entity\Genus;
class DefaultController extends Controller
{
/**
* @Route("/",name="homepage")
*/
public function newAction(Request $request)
{
$gen=new Genus;
$form = $this->createForm(GenusFormType::class,$gen,array(
'action' => $this->generateUrl('app_lucky_number'),'method' => 'POST',));
$form->handleRequest($request);
return $this->render('genus/new.html.twig',[
'genusForm' => $form->createView()
]);
}
}
?>
这是操作页面(app_lucky_number)
<?PHP
namespace AppBundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use AppBundle\Form\GenusFormType;
class LuckyController extends Controller
{
/**
* @Route("lucky/number/",name="app_lucky_number")
*/
public function number(Request $request)
{
$form = $this->createForm(GenusFormType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$genus = $form->getData();
$name=$genus->getName();
$em = $this->getDoctrine()->getManager();
$em->persist($genus);
$em->flush();
return $this->render('genus/principal.html.twig',array('name'=>$name));
}
}
}
?>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)