Symfony更改对象操作的url


symfony change url of object action

我有一个对象动作approve,我想将其url从/module/ListApprove/action?id=XXX更改为/module/:slug/approve。我试过在routing.yml中添加一条路由,但没有帮助。此外,我在我的动作中定义了ecexuteApprove

modified routing.yml:

poster_approve:
  url: /poster/:slug/approve
  params: {module: poster, action: approve}
poster:
  class: sfDoctrineRouteCollection
  options:
    model:                Poster
    module:               poster
    prefix_path:          /poster
    column:               slug
    with_wildcard_routes: true

当我手动调用/poster/someslug/approve,它工作得很好。但是在管理列表界面的actions列中,approve的url不是/poster/someslug/approve,而是/poster/ListApprove/action?id=12

之后,我添加了一个动作参数到我的generator.yml,像这样:

        object_actions:    
          _delete: 
            credentials: delete_poster
          approve:            
            credentials: approve_poster
            action:      approve

,但这次唯一的变化是,链接url变成了/poster/approve/action?id=12。我该如何改变这一点?

您的路由如何?Yml动作看起来像什么?您可以添加如下内容:

list_approve:
  url:    /someModule/:slug/:id
  param:  { module: someModule, action: approve }

请定义但没有帮助,您遇到了什么问题?