2011-12-13 16 views
0

我有一个对象动作approve,我想将其网址从/module/ListApprove/action?id=XXX更改为/module/:slug/approve。我曾尝试在routing.yml中添加路线,但没有任何帮助。另外,我在我的动作中定义了ecexuteApprovesymfony更改对象动作的url

修改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,它工作正常。但在管理员列表界面中的操作列中,批准的网址不是/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。我该如何改变这一点?

回答

0

你的routing.yml动作是怎么样的?你可以添加类似:

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

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

+0

我已更新该问题。 – prongs