Chciałbym skorzystać z Groovy cechy w kontrolerze Grails zgodnie z poniższym:Użyj Groovy cechę w kontrolerze Grails
trait ColumnSelectionController {
def selectColumns() {
//Do something here
}
}
class MyController implements ColumnSelectionController {
def index() {
//Calculate list model
}
}
Gdy uruchomię to w Grails jednak „selectColumns” działanie nie jest widoczny i otrzymuję odpowiedź 404 od Grails. Podejrzewam, że jest coś, co muszę zrobić z tą cechą, że metody zdefiniowane w niej są rozpoznawane jako działania w klasie implementującej. Ktoś wie, co to może być?
EDIT 1:
Dalsze informacje: cecha jest określona w src/porywające nie w GRAILS aplikacji/regulatorów i dlatego nie jest określona jako artefakt.
EDIT 2:
Ponadto, jeśli mogę zmienić cechę do klasy, oznaczyć ją z @Artefact adnotacji i zmienić MyController rozszerzyć tę klasę, wszystko działa zgodnie z oczekiwaniami. Próba użycia adnotacji @Artefakt do cechy nic nie robi (bez wielkiej niespodzianki).
Jaką wersję Grails używasz? Jakiej wersji Groovy używasz? –
Używam Grails 2.4.3 i Groovy 2.3.3. Cechy działają dobrze w innych częściach aplikacji i wszystkie metody cech są widoczne jako metody, po prostu nie są podłączone do punktów końcowych działania. –
rozwiązałeś ten problem? mamy ten sam numer – droggo