0

私はsfDoctrineRouteCollectionを持っています:

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

誰かが新しいエンティティを作成し、そのスラッグが「new」などになる場合、ルーティングエンジンは、/foo/new新しいエンティティを作成するための2つのルート/foo/newと、スラッグが「new」であるエンティティを表示するための2つのルートに関して混乱します。

この問題に対するクリーンでエレガントな解決策は何ですか?

もちろん、明示的なルート定義を提供することもできますが、それではsfDoctrineRouteCollectionは時代遅れになります。「show」アクションの個別のルート定義は、たとえば「/ foo /:slug / show」のようなプレフィックスを追加することで、すでに問題を解決します。「new」などのスラッグをインターセプトするカスタムslugifyメソッドを提供することもできます。

クリーンでエレガントなソリューションを知っていますか?

4

1 に答える 1

1

オプションを使用して別のものsegment_namesに変更するか、またはオブジェクトの表示アクションを無効にして追加するなど、newより明示的なものを使用できますidid-slugwith_show

object_actions: { show: [get, head] }

于 2013-03-04T22:07:18.033 に答える