मैं डिफ़ॉल्ट नियंत्रक रीडायरेक्ट विधि को ओवरराइड करने का प्रयास कर रहा हूं और काम करने के लिए निम्न कोड को प्राप्त नहीं कर पा रहा हूं।grails रीडायरेक्ट कंट्रोलर विधि ओवरराइड
मैंने एक प्लगइन बनाया है और मैं रीडायरेक्ट को प्रतिस्थापित करने के लिए "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
}
}
क्या मेरे पास हस्ताक्षर गलत है या क्या मुझे कुछ याद आ रही है? कारण यह है कि मैं यह कर रहा हूं कि अगर कोई निश्चित शर्त पूरी हो जाती है तो मैं रीडायरेक्ट की यूरी को बदलना चाहता हूं लेकिन लॉगिंग/प्रिंट स्टेटमेंट के साथ मैं देखता हूं कि यह एप्लिकेशन स्टार्टअप/संकलन पर "replaceRedirectMethod" में जा रहा है लेकिन यह नहीं करता है एक बार ऐप शुरू होने के बाद नियंत्रक के माध्यम से रीडायरेक्ट करते समय वहां नहीं जाते।