"Parameter " " for route " " must match " [^/]++ " (" " given) to generate a corresponding URL."



我需要你的帮助   当我发送电子邮件时,将显示此错误消息: 在呈现模板期间抛出异常(路由"front_Succes"通知的"参数"必须与 [^/] ++ "(" 匹配以生成相应的 URL。(500 内部服务器错误(

这是我的控制器: 'public function envoieAction($id, Request $request( {

$em = $this->getDoctrine()->getManager();
$Soumission = $em->getRepository('tutoBackofficeBundle:Soumission')->find($id);
$Soumission->setEtat($em->getRepository("tutoBackofficeBundle:Etat")->findOneById('4'));

$form = $this->createForm(new SoumissionType(), $Soumission);
if ($request->getMethod() == 'POST') {
$form->handleRequest($request);
$users = $em->getRepository('tutoBackofficeBundle:User')->findAll();

$lastId = $Soumission->getId();
$soum = $em->find('tutoBackofficeBundle:Soumission', $lastId);
$valide = $soum->getEtat();
if ($valide->getId() == 4) {

foreach ($soum->getEvaluateur() as $evlt) {
$i = 0;
$prof = array();
foreach ($users as $user) {
$adresse = $evlt->getAdressemail();
$email = $user->getEmail();
if ($adresse == $email) {

$prof[] = $user;
foreach ($prof as $element) {
if ($element->getEtat()->getId() == 3) {
$notification = new tutoBackofficeBundleEntityNotification();
$notification->setSoumission($soum);
$notification->setEvaluationfinal();
$notification->setUser($element);
$notification->setDateNotif(new DateTime());
$notification->setLu(false);
$em->persist($notification);
$i++;

只专注于这部分//

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, ' ssl')
->setUsername('a.b@gmail.com')->setPassword('abcd');

'

$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setSubject('Vous Avez un nouveau papier à évaluer')
->setFrom('yahia1.sarra2@gmail.com')
->setTo($adresse)
->setBody($this->renderView('tutoBackofficeBundle:Soumission:email2.html.twig', array('soumission' => $soum, 'evlt' => $evlt, 'notifId' => $notification)))
;
$this->get('mailer')->send($message);

$em->persist($Soumission);
$em->flush();
$this->addFlash("success", "le papier a été envoyé avec succés");
}
}
return $this->redirectToRoute('tuto_soumission');
//$message="un Etat est modifié";
}
}
}
}
}
return $this->render('tutoBackofficeBundle:Soumission:modif.html.twig', array(
'form' => $form->createView(),
)
);
}`

'

这是我的树枝:

{%if evlt.civilite=='Mme' %}Chère {%else%}Cher {%endif%}Professeur «{{evlt.nom}}»

Nous avons le plaisir de vous informer que le 16ème Colloque International de l’ATM se tiendra les 07 et 08 avril 2018 à Hammamet, en Tunisie.En tant que Président du Comité Scientifique et afin de garantir le succès de cette 16ème édition du colloque, nous vous sollicitons de bien vouloir évaluer le papier intitulé «{{soumission.titrePapier}}» avant le 15 février 2018 et ce en cliquant sur le lien suivant : {{url('front_Succes',{'id':soumission.id,'notifId':notifId.id})}} // the problem here Pour vous simplifier la tâche, nous vous prions de bien vouloir utiliser la fiche d’évaluation en cliquant sur le lien suivant : {{url('front_questionnaire',{'soumission':soumission.id})}} Comptant également sur votre présence les jours du colloque, nous vous remercions, {%if evlt.civilite=='Mme' %}Chère {%else%}Cher {%endif%} collègue, pour votre précieuse collaboration. Bien Cordialement. Président du Comité d'Evaluation de l’ATM

这是路由

front_Succes:
path: /soumission_succes/{id}/{notifId}
defaults: {_controller: tutoFrontofficeBundle:Soumission:affiche }

这是函数关联:

public function afficheAction(tutoBackofficeBundleEntitySoumission $id, tutoBackofficeBundleEntityNotification $notifId) {
$em = $this->getDoctrine()->getManager();
$notification = $em->getRepository('tutoBackofficeBundle:Notification')->findBy(array('soumission' => $id, 'user' => $this->getUser()));
$notif = $em->find("tutoBackofficeBundle:Notification", $notifId);
$notif->setLu(true);
$em->persist($notif);
$em->flush();
return $this->render('tutoFrontofficeBundle:Soumission:affiche.html.twig', array('notification' => $notification));
}

我认为这只是您代码中的一个错字。您使用的是"("而不是 notifId 参数。

相关内容

最新更新