2012-06-19 8 views
7

Come posso avere più di una parte di percorso in un'azione allo stesso tempo? Ho provato con Regex e LocalRegex ma non funziona davvero.Due o più PathParts concatenati (catalizzatore)

questo è il risultato che voglio:

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

voglio ottenere questo utilizzando solo un'azione di base che cattura i due argomenti in da, e può avere sia la "typeone" o pathpart "typetwo" .

Il "qualcosa" è solo un'altra azione incatenata a quella base. Non voglio avere due basi con due pathparts differenti, che mi richiederebbero due cose concatenate a ciascuna delle basi, giusto?

Grazie

+0

Ok, dopo aver provato un po ', concatenare o regex il lavoro ma non entrambi in combinazione. Ho provato 'sub anchor: Chained: Regex ('^ type (one | two) $'): CaptureArgs (2) {} ... sub qualcosa: Chained ('anchor'): Args (0) {}'. Forse perché Regex sta consumando tutte e tre le parti invece di onorare il 'CaptureArgs (2)'. – dgw

+1

È perché ": le partite di Regex agiscono globalmente, cioè senza riferimento allo spazio dei nomi da cui sono chiamate." http://search.cpan.org/~zarquon/Catalyst-Manual-5.9004/lib/Catalyst/Manual/Intro.pod :( – LuRsT

risposta

-1

Per quanto ne so, non c'è modo per impostare più di un PathPart, o di avere un PathPart regexp-enabled.

1

La saggezza comune nella comunità Catalyst sembra essere che il concatenamento è sempre una migliore idea di corrispondenza espressione regolare, in questi giorni - nella misura in cui alcune delle cose regex potrebbe avere spostato fuori del nucleo nella versione 6.

Gli esempi qui aiutano? http://wiki.catalystframework.org/wiki/gettingstarted/howtos/chainedexamples.view
Il account/org/*/edit uno sembra coinvolgere abbinando 3 PathParts separati ...

Ognuno dei sottomarini importanti - quelli innescati da typeone e typetwo, nel tuo caso - verrà eseguito. O non è quello che cerchi?