2012-06-19 12 views
7

¿Cómo puedo tener más de un pathpart en una acción al mismo tiempo? Intenté con Regex y LocalRegex, pero realmente no funciona.Dos o más PathParts encadenados (catalizador)

Este es el resultado que quiero:

/typeone/*/*/something 
/typetwo/*/*/something 

que quiero lograr esto usando sólo una acción de base que captura los dos argumentos a partir de, y puede tener cualquiera de los "typeone" o pathpart "TypeTwo" .

El "algo" es simplemente otra acción que está encadenada a esa base. No quiero tener dos bases con dos caminos diferentes, eso requeriría tener dos algo encadenado a cada una de las bases, ¿verdad?

Gracias

+0

Bien, después de intentar un poco, ya sea encadenar o trabajar con expresiones regulares, pero no ambos en combinación. Intenté 'subanclaje: encadenado: Regex ('^ tipo (uno | dos) $'): CaptureArgs (2) {} ... sub algo: encadenado ('anclaje'): Args (0) {}'. Tal vez sea porque Regex está consumiendo las tres partes en lugar de honrar al 'CaptureArgs (2)'. – dgw

+1

Es porque ": las coincidencias Regex actúan globalmente, es decir, sin referencia al espacio de nombres desde el que se llaman". http://search.cpan.org/~zarquon/Catalyst-Manual-5.9004/lib/Catalyst/Manual/Intro.pod :( – LuRsT

Respuesta

-1

Por lo que yo sé, no hay manera de establecer más de una PathPart, o tener una expresión regular PathPart habilitado.

1

La sabiduría común en la comunidad catalizador parece ser que el encadenamiento es siempre una idea mejor que la coincidencia de expresiones regulares, en estos días - en la medida en que algunas de las cosas de expresiones regulares puede ser que consiga salido de núcleo en la versión 6.

¿Los ejemplos aquí ayudan? http://wiki.catalystframework.org/wiki/gettingstarted/howtos/chainedexamples.view
El account/org/*/edit uno parece involucrar a juego 3 PathParts separados ...

Cada uno de los submarinos relevantes - los provocados por typeone y TypeTwo, en su caso - se llevará a cabo. ¿O no es eso lo que buscas?

Cuestiones relacionadas