Forms symfony 3.4将变量传递到细枝中的模态

Forms symfony 3.4将变量传递到细枝中的模态,forms,symfony,modal-dialog,twig,Forms,Symfony,Modal Dialog,Twig,我需要帮助来解决我的问题。我有一页写着我的“装备”清单。表中的每个“设备”都有一个编辑按钮,页面显示另一个按钮以添加新的“设备” 到目前为止,我使用{render()}}语法成功地为NEW调用了一个模式,EquipmoneWModal工作得很好,因为在Symfony中是一个“静态”路由(/Equipmo/NEW);但是编辑不起作用,因为我无法将“equipo”变量传递给equipoeditmodel并获取完成路由(/equipo/{id}/EDIT)并调用控制器的id Symfony无法呈现页面

我需要帮助来解决我的问题。我有一页写着我的“装备”清单。表中的每个“设备”都有一个编辑按钮,页面显示另一个按钮以添加新的“设备”

到目前为止,我使用{render()}}语法成功地为NEW调用了一个模式,EquipmoneWModal工作得很好,因为在Symfony中是一个“静态”路由(/Equipmo/NEW);但是编辑不起作用,因为我无法将“equipo”变量传递给equipoeditmodel并获取完成路由(
/equipo/{id}/EDIT
)并调用控制器的id

Symfony无法呈现页面并返回错误:变量“equipo”不存在

控制器不是问题,如果我在list.html.twig模板中创建一个href={{path('edit_equipo',{id':equipo.id}}})的标记并跳过模式,我可以编辑每个equipo。要关闭控制器,如果我硬编码了线路:

{{ form_start(equipoForm, {'action': path('edit_equipo', {'id': equipo.id})}) }}
在edit.html.twig中:

 {{ form_start(equipoForm, {'action': path('edit_equipo', {'id': 1})}) }}
编辑操作可以工作,当然,对于编辑操作调用数据库中id=1的项的版本的每个设备,但它表示控制器工作正常

我错过了一些东西,希望社区能找到解决办法。。。对不起,我的英语不好

==============

list.html.twig 编辑: 要解决此问题,只需添加@Nobady在editAction控制器中所说的行

根据list.html.twig文件中的equipo change数据目标调用每个模式:

<button type="button" class="btn btn-primary" href="" data-toggle="modal" data-target="#equipo{{ equipo.id }}">

当然,在edit.html.twig文件中也有:

<div class="modal fade" id="equipo{{ equipo.id }}">

要解决此问题,您必须将equipo作为参数传递,如编辑控制器中所示:

/**
 * @Route("/equipo/{id}/edit", name="edit_equipo")
 */
public function editAction(Request $request, Equipo $equipo)
{
    $form = $this->createForm(EquipoFormType::class, $equipo);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $equipo = $form->getData();

        $em = $this->getDoctrine()->getManager();
        $em->persist($equipo);
        $em->flush();

        return $this->redirectToRoute('list_equipos');
    }

    return $this->render('sysreport/equipos/edit.html.twig', [
        'equipoForm' => $form->createView(),
        'equipo' => $equipo
    ]);
}

谢谢@Nobady。。。我稍后在办公室尝试,并将结果。。。BR…多亏@Nobady,我的问题解决了。。。我在我的帖子中添加了一行,其中包含了根据“equipo”调用每个模态的技巧。。。
    /**
     * @Route("/equipo/{id}/edit", name="edit_equipo")
     */
    public function editAction(Request $request, Equipo $equipo)
    {
        $form = $this->createForm(EquipoFormType::class, $equipo);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $equipo = $form->getData();

            $em = $this->getDoctrine()->getManager();
            $em->persist($equipo);
            $em->flush();

            return $this->redirectToRoute('list_equipos');
        }

        return $this->render('sysreport/equipos/edit.html.twig', [
            'equipoForm' => $form->createView(),
        ]);
    }
<button type="button" class="btn btn-primary" href="" data-toggle="modal" data-target="#equipo{{ equipo.id }}">
<div class="modal fade" id="equipo{{ equipo.id }}">
/**
 * @Route("/equipo/{id}/edit", name="edit_equipo")
 */
public function editAction(Request $request, Equipo $equipo)
{
    $form = $this->createForm(EquipoFormType::class, $equipo);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $equipo = $form->getData();

        $em = $this->getDoctrine()->getManager();
        $em->persist($equipo);
        $em->flush();

        return $this->redirectToRoute('list_equipos');
    }

    return $this->render('sysreport/equipos/edit.html.twig', [
        'equipoForm' => $form->createView(),
        'equipo' => $equipo
    ]);
}