在我们的grails 1.3.x应用程序中,我们曾经做def user = request.userDefinedInAFilter
并且不是在控制器方法中,而是在类的主体中,并且工作正常。现在升级到2.1.2时,在尝试创建bean时会出现此错误:
Caused by: groovy.lang.MissingMethodException: No signature of method: com.MyController.getRequest() is applicable for argument types: () values: []
我可以将它放在控制器方法或之前的块中,只是试图找出处理它的最佳方法。
答案 0 :(得分:1)
我认为这是因为这些方法以前已添加到元类中,但现在通过AST转换添加到字节码中。如果您需要为所有方法使用它,可以将其添加到beforeInterceptor
并在那里设置字段,或者在需要它的每个方法中进行调用。