首页 > 解决方案 > 在渲染模板期间引发了异常(“路由“delete_User”的“参数“salt”必须匹配“[^/]++”

问题描述

我会创建一个方法来删除一些在表中分类的用户这是我的方法删除

public function deletetAction(User $user)
{
    if (!$user) {
        throw $this->createNotFoundException('No user found');
    }

    $em = $this->getDoctrine()->getEntityManager();
    $em->remove($user);
    $em->flush();

    return $this->redirectToRoute('index_User');
}

我在我的观点中称这个方法为 index.html.twig

<tbody>
                 {% for user in useres %}
                    <tr>

                  <td> {{user.username}}  </td>
                  <td> {{user.email}}  </td>
                  <td> {{user.date(user.LastLogin)}}</td> 
                   <td> {{user.enabled}}  </td>
                   <td class="center hidden-400">        
                       <a href="{{ path('delete_User', {'salt':user.salt }) }}"class="glyphicon glyphicon-pencil">delete </a>

                                    </td>

                  <td>{{user.roles[0]}}</td>
                                </tr>
                {% endfor %}
</tbody>

但是当我执行路由索引时,会发布此错误

标签: phpsymfonysymfony-2.8

解决方案


可能,您的字段的某些值salt在数据库中为空。因此,您应该在呈现链接之前进行检查。

{% if user.salt|length %}
    <a href="{{ path('delete_User', {
        'salt': user.salt
    }) }}" class="glyphicon glyphicon-pencil">delete</a>
{% endif %}

推荐阅读