我的应用程序显示项目列表、项目详细信息页面和用于编辑这些项目的表单。这些是路线:
- / - 项目列表
- /project/42 - 查看项目(项目详细信息页面)
- /project/42/edit - 编辑项目
只有其所有者可以编辑项目。
我已经实施了一个 Voter 来防止非所有者访问 /project/42/edit。
现在,我还想从项目详细信息页面中隐藏“编辑项目”链接。这样做的方法是什么?理想情况下,在 Twig 中,我想做类似的事情
{% if may_access(path('project_edit', { 'id': project.id })) %} <a href="{{ path('project_edit', { 'id': project.id }) }}">编辑项目</a> {% 万一 %}
我可以将此功能实现为 Twig 扩展,但可能已经存在类似的功能。