我正在尝试在树枝模板中转发路线的变量。但是我的方法不起作用。
用户可以创建一个projet,其中有多个人员,并且该人员的路线为admin/projet/{idProjet}/personnages/{idPersonnage}
,所以当我参加人员显示时,我需要恢复idProjet
我试图通过渲染,但也无法正常工作
我的Projet控制器
/**
* @Route("admin/projet/{id}", name="projet_show", methods={"GET"})
*/
public function show(Projet $projet, Request $request): Response
{
$chapitres = $this->getDoctrine()
->getRepository(Chapitre::class)
->findByProjet($projet->getId());
$personnages = $this->getDoctrine()
->getRepository(Personnages::class)
->findByProjet($projet->getId());
$idProjet = $projet->getId();
return $this->render('projet/show.html.twig', [
'projet' => $projet,
'idProjet' => $idProjet,
'chapitres' => $chapitres,
'personnages' => $personnages
]);
}
在树枝上的Projet表演
{% for personnage in personnages %}
<div class="list-group">
<a href="{{ path('personnages_show', {'idPersonnage':
personnage.id},
{ 'idProjet': idProjet}) }}" class="list-group-item list-group-
item-action">
{% if personnage.role == 'Héros' %}
<i class="fas fa-chess-queen"></i> {{ personnage.firstName }} {{
personnage.lastName }}
{% elseif personnage.role == 'Secondaire'%}
<i class="fas fa-chess-knight"></i>
{{ personnage.firstName }} {{ personnage.lastName }}
{% else %}
错误消息:
An exception has been thrown during the rendering of a template (Some mandatory parameters are missing (`idProjet`) to generate a URL for route `personnages_show`.).
答案 0 :(得分:0)
path
的参数格式不正确。
href="{{ path('personnages_show', {'idPersonnage': personnage.id, 'idProjet': idProjet}) }}"
通过使用多余的括号,idProject
作为absolute
选项被传递。