Obecnie, kiedy potrzebuję udostępnić metodę taką jak processParams(params)
między różnymi kontrolerami, używam dziedziczenia lub usług. Zarówno rozwiązanie ma pewne inconvenients:W jaki sposób udostępniasz popularne metody w różnych kontrolerach Grails?
- dziedziczenie, nie można użyć wielokrotne dziedziczenie, co oznacza, że trzeba mieć wszystkich metod użytkowych kontrolerów w jednym miejscu. A także, istnieje błąd w grails, który nie wykrywa żadnych zmian kodu w klasach kontrolera Base w trybie deweloperskim (musisz ponownie uruchomić aplikację)
- Dzięki usługom nie masz dostępu do wszystkich wstrzykniętych właściwości, takich jak paramery, sesja, flush ...
Moje pytanie brzmi: czy istnieje jakikolwiek inny sposób wykorzystania niektórych popularnych metod dostępnych dla wielu kontrolerów?
Klasa delegat nie mają dostępu do wewnętrznych klasy właściciela, takich jak metoda lub params renderowania . – ataylor
To niestety prawda, a tym samym '@ Delegate' nie będzie metodologią wyboru w tym przypadku. – robbbert