Переопределение метода для повторного применения после изменения исходного кода контроллера, необходимо сделать следующее:

аюсь переопределить метод перенаправления контроллера по умолчанию и не могу заставить следующий код работать.

Я создал плагин, и я пытаюсь использовать «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» при запуске / компиляции приложения, но это не не заходите туда при перенаправлении через контроллер после запуска приложения.

Ответы на вопрос(2)

Ваш ответ на вопрос