Ich versuche, die Standard-Controller-Redirect-Methode zu überschreiben und kann nicht scheinen, um das folgende Bit des Codes zu arbeiten.
Ich habe ein Plugin erstellt und versuche, die "doWithDynamicMethods" zu verwenden, um die Umleitung zu ersetzen.
def doWithDynamicMethods = {ctx ->
application.controllerClasses.each() { controllerClass ->
replaceRedirectMethod(controllerClass)
}
}
void replaceRedirectMethod(controllerClass) {
def oldRedirect = controllerClass.metaClass.pickMethod("redirect", [Map] as Class[])
controllerClass.metaClass.redirect = { Map args, Map params ->
// never seems to get here
}
}
Habe ich die Unterschrift falsch oder übersehe ich etwas? Der Grund, warum ich dies tue, ist ich möchte die Uri der Umleitung ändern, wenn eine bestimmte Bedingung erfüllt ist, aber mit Logging/Druck-Anweisungen sehe ich, dass es in der "replaceRedirectMethod" beim Anwendungsstart/Kompilieren geht, aber es geht nicht in dort, wenn eine Umleitung über den Controller zu tun, sobald die App gestartet wird.