slu with与路线部分混淆" new"等等

时间:2013-03-03 17:51:51

标签: symfony-1.4 url-routing doctrine-1.2 slug

我有一个sfDoctrineRouteCollection:

foo:
  class:  sfDoctrineRouteCollection
  options:
    model: Foo
    columns: slug
    action: [list, show, new, create, edit, update, delete]

如果某人现在创建了一个新的实体,其slug导致例如“new”,则路由引擎会对用于创建新实体的两条路由/foo/new和显示该实体的/foo/new感到困惑与slug“new”。

这个问题有什么干净而优雅的解决方案?

当然,我可以提供明确的路由定义,但这会使sfDoctrineRouteCollection过时。 “show”操作的单独路由定义已经解决了问题,例如,通过添加类似“/ foo /:slug / show”的前缀。我也可以提供一种定制的slugify方法拦截像“新”等的slu ..

您知道任何干净优雅的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您可以使用segment_names选项将new更改为其他内容,也可以使用更明确的内容,例如idid-slug或禁用with_show并添加节目object action

object_actions: { show: [get, head] }