![](/img/trans.png)
[英]Symfony2 allow empty route parameter “must match ^/ ++ ( given) to generate a corresponding url”
[英]Parameter “” for route “” must match “[^/]++” (“” given) to generate a corresponding URL
我有這個Facade實體,每次嘗試修改包含以下細枝的表單時,都會返回此錯誤:
An exception has been thrown during the rendering of a template ("Parameter "buildings_id" for route "addFacade" must match "[^/]++" ("" given) to generate a corresponding URL.").
我的控制器動作:
/**
* @Route("/{id}/card", name="business_card", methods="GET|POST|DELETE", defaults={"business_id"=1})
* @param Request $request
* @param Business $business
* @return Response
*/
public function show_card(Request $request, Business $business): Response
{
$businessCard = $business->getBusinessCard();
$formCard = $this->createForm(BusinessCardType::class, $businessCard);
$formCard->handleRequest($request);
if (($formCard->isSubmitted() && $formCard->isValid())) {
$businessCard = $formCard->getData();
$em = $this->getDoctrine()->getManager();
$em->persist($businessCard);
$em->flush();
return $this->redirectToRoute('business_card', ['id' => $business->getId()]);
}
$dict = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
return $this->render('business/card.html.twig', ['business' => $business, 'formCard' => $formCard->createView(), 'dict' => $dict]);
}
我的樹枝模板:
{% for buildingsInfo in business.businessCard.buildingsInfos %}
{% set idBuildingsInfo = idBuildingsInfo|merge([buildingsInfo.id]) %}
<a class="btn btn-outline-primary mb-3" href="{{ path("addFacade",{"buildings_id": idBuildingsInfo[j] }) }}">Ajouter une façade</a>
{% endfor %}
我試圖轉儲idBuildingsInfo
變量,但是數組的所有值都是數字(無null值)。 我還嘗試在控制器中為參數buildings_id
添加一個默認值,但是它似乎沒有任何改變。
仔細閱讀錯誤
參數“ buildings_id” ...(給出“”)
您傳遞的參數值為空(“”)
{{ path("addFacade",{"buildings_id": idBuildingsInfo[j] }) }}
是否定義了j
? 或者該行應如下所示:
{{ path("addFacade",{"buildings_id": idBuildingsInfo["j"] }) }}
我的猜測是該錯誤可能與以下方面有關:
href="{{ path("addFacade",{"buildings_id": idBuildingsInfo[j] }) }}
也許我們會set
一個變量為我們的href
,然后逃離那些"
S中的需要逃避,我們的代碼將如下所示:
{% for buildingsInfo in business.businessCard.buildingsInfos %}
{% set idBuildingsInfo = idBuildingsInfo|merge([buildingsInfo.id]) %}
{% set path = "\"addFacade\", {\"buildings_id\": idBuildingsInfo[j]" %}
<a class="btn btn-outline-primary mb-3" href="{{ path }}">Ajouter une façade</a>
{% endfor %}
或有點相似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.