Я пытаюсь переопределить метод перенаправления контроллера по умолчанию и, похоже, не могу заставить работать следующий бит кода.
Я создал плагин и пытаюсь использовать doWithDynamicMethods для заменыперенаправление.
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
}
}
У меня неверная подпись или я что-то упустил?Причина, по которой я это делаю, заключается в том, что я хотел бы изменить URI перенаправления, если определенное условие выполнено, но с помощью инструкций logging / print я вижу, что он запускается в «replaceRedirectMethod» при запуске / компиляции приложения, но это нене переходите туда при перенаправлении через контроллер после запуска приложения.