Ho un metodo statico in una classe di dominio che restituisce un URL. Ho bisogno di costruire quell'url in modo dinamico ma g.link non funziona.Impossibile utilizzare grails g.link nella classe dominio
static Map options() {
// ...
def url = g.link(controller: "Foo", action: "bar")
// ...
}
Ottengo i seguenti errori:
Apparent variable 'g' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes:
You attempted to reference a variable in the binding or an instance variable from a static context.
You misspelled a classname or statically imported field. Please check the spelling.
You attempted to use a method 'g' but left out brackets in a place not allowed by the grammar.
@ line 17, column 19.
def url = g.link(controller: "Foo", action: "bar")
^
1 error
Ovviamente il mio problema è che sto cercando di accedere g
dal contesto statico, così come faccio a ottenere intorno a questo?
non fare questo in un ambito statico. Utilizzare un metodo di istanza o, ancora meglio, inserire questo codice in un servizio in modo che possa essere iniettato. – OverZealous
Non ho un'istanza al momento sto facendo questo. – ubiquibacon
Sì, sono d'accordo con OverZealous. Davvero cattiva idea di farlo in questo modo. – Gregg