动态路径symfony

时间:2019-02-04 15:03:11

标签: symfony twig

我有此代码:

href="{{ path('new') }}"

现在必须在本节中使用一个变量:

href="{{ path(item.ruta) }}"

但这显示了一个错误:

  

在渲染模板期间引发了异常   (“无法像这样的路由那样为命名路由“”生成URL   不存在。”)。

如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

似乎item.ruta是空的,因此无法生成任何路由。

您可以指定像这样的回退{{ path(item.ruta ? item.ruta : 'new') }},或者如果您想停留在当前页面上,则需要执行以下描述的操作:get current url in twig template?

{% if item.ruta %}
    href="{{ path(item.ruta) }}"
{% else %}
    href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}"
{% endif %}

或者如果您只想使用#,则删除path函数调用

{% if item.ruta %}
    href="{{ path(item.ruta) }}"
{% else %}
    href="#"
{% endif %}