【问题标题】:Symfony2 "Parameter "" for route "" must match "[^/]++" ("" given) to generate a corresponding URL."Symfony2 路由“”的“参数”必须匹配“[^/]++”(“”给定)以生成相应的 URL。
【发布时间】:2015-02-11 12:47:16
【问题描述】:

我有这个 路线 文件:

indexRechercheZones:
    path:     /gestionzonestechniques
    defaults: { _controller: MySpaceGestionEquipementsTechniquesBundle:GestionZonesTechniques:indexZonesTechnique }
    requirements:
    methods: GET

modifierZones:
    path:     /gestionzonestechniques/modifier/{nom}
    defaults: { _controller: MySpaceGestionEquipementsTechniquesBundle:GestionZonesTechniques:modifierZonesTechnique }
    requirements:
    methods: GET

modifierZones_process:
    path:     /gestionzonestechniques/modifier/process/{nom}
    defaults: { _controller: MySpaceGestionEquipementsTechniquesBundle:GestionZonesTechniques:modifierZonesTechnique }
    requirements:
    methods: POST

现在当我想继续indexRechercheZones路线时,发生错误

在渲染模板期间引发了异常 ("路由 "modifierZones" 的参数 "nom" 必须匹配 "[^/]++" ("" 给定)生成相应的URL。”)在 MySpaceGestion...sBundle:...:indexZonesTechniques.html.twig 在第 71 行。

在我的树枝第 71 行,我有这个 代码

<a href="{{ path('modifierZones', {'nom': zonetechnique.nom}) }}"><button class="btn btn-warning btn-xs">Modifier</button></a>

我认为这是一个正则表达式问题,是 symfony 的 url 写入规则的问题,但我不知道如何解决这个错误。我尝试了一些类似在我的路线中添加这一行的方法:

indexRechercheZones:
    path:     /gestionzonestechniques/
    defaults: { _controller: MySpaceGestionEquipementsTechniquesBundle:GestionZonesTechniques:indexZonesTechnique }
    requirements:
        nom:    \d+ 
    methods: GET

或者像这样按要求:

requirements:
    nom:    '[a-zA-Z0-9-_\/-\s.^]+'

但它不匹配。有人可以帮忙吗?

谢谢...

【问题讨论】:

  • 看起来你的变量zonetechnique.nom 是空的,所以你的参数nom 不符合任何要求(因为你的参数不是可选的)

标签: php symfony url routes yaml


【解决方案1】:

就像@Coussinsky 说的,你的values 的一些field "nom" 在你的数据库中是空的。

如果需要,您可以将此参数设置为null,或者只是更改数据库中的空值。

【讨论】:

  • 您可以提出一些要求,以便使用正则表达式编写 url,就像您在回答 '[a-zA-Z0-9-_\/-\s.^]+' 时提到的那样。但是看文档,yml 有特定的语法。
  • 如果我想将正则表达式混合到 {nom}parameter 中,如何在我的 yaml 文件中为路由添加正则表达式?谢谢大家的帮助。
猜你喜欢
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多