@GrailsCompileStatic
grails 3.1.7 アプリケーションの多くの場所でアノテーションを使用したいと思っています。save()
しかし、主な問題は、ドメイン、コマンド、およびコントローラーが追加のメソッド (または などvalidate()
) または変数 ( など)と「混合」されていることを考慮していないことg
です。
上記のメソッドの回避策を見つけました。空のメソッドを持つ抽象クラスからドメインとコマンドを継承しますsave()
(その実装は grails によってオーバーライドされますが、静的コンパイルは失敗しません)。また、この抽象クラスは、メソッド実装grails.validation.Validateable
で trait を実装します。validate()
しかし、これらの汚いトリックなしで静的コンパイルを有効にするより良い方法はありますか?
多くのコントローラーで、g.createLink()
メソッドを使用します。g
静的コンパイル中にこれを回避するには、内部に変数を渡すにはどうすればよいですか?
エラー:(37, 39) Groovyc: [静的型チェック] - 変数 [g] が宣言されていません。