在 Symfony/Twig 路径函数中作为参数调用的函数

A function call as argument in Symfony/Twig path function

我有这样的路线:

 /**
     * @Route("/admin/user/edit/{id}", defaults={"id" = 0}, name="admin_user_edit")
     * @Route("/admin/user/edit")
     * 
     */
    public function editAction(Request $request, $id = 0){
    (...)

然后是一个 Twig 模板,我在其中列出了所有用户:

 {% for user in users %}
        <li>

          <a href='{{ path('admin_user_edit'),{'id' : user.getId()} }}'>
            {{ user.getUsername() }}
          </a>

        </li>
    {% endfor %}

如您所见,我正在尝试将 'user.getId()' 作为 ID 传递。我明白了:

Unexpected token "punctuation" of value "," ("end of print statement" expected) in admin/users/list.html.twig at line 5.

我知道这是关于这个 user.getId() 因为在我添加这段代码之前一切都很好。

那么如何将函数结果传递给此 "path" 函数?

你的路径函数应该有路由名称和括号内的参数,如

{{ path('admin_user_edit', {'id' : user.getId() }) }}

此外,由于您没有在 user.getId() 调用中使用参数,您可以只使用 user.id