我有路线文件:
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
路线时,发生错误:
在渲染模板期间抛出了异常 ("参数" nom"用于路由"修饰区"必须匹配" [^ /] ++"("" 给)生成相应的URL。")in 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.^]+'
但它不匹配。有人可以帮忙吗?
谢谢...
答案 0 :(得分:5)
就像@Coussinsky所说,你的values
“nom”的一些field
在你的数据库中是空的。
如果您愿意,可以将此参数设为null
,或者更改数据库中的空值。