我有一个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 ..
您知道任何干净优雅的解决方案吗?
答案 0 :(得分:1)
您可以使用segment_names
选项将new
更改为其他内容,也可以使用更明确的内容,例如id
或id-slug
或禁用with_show
并添加节目object action
object_actions: { show: [get, head] }