在我最新的grails 2.3.0项目中,我正在使用@Mixin注释混合一个帮助类来保持我的controller更干.
如果在控制器内进行一些更改以强制重新编译控制器,则mixin正在工作.在初始compile(grails run-app)之后,助手没有混入 - 我MissingMethodException试图从助手类访问一个方法.
这是我的助手src/groovy:
class ProjectHelper {
def withProject(id, Closure c) {
def project = Project.get(id)
if (project) {
c.call project
} else {
flash.message = 'Project not found!'
render view: 'myView'
return
}
}
}
Run Code Online (Sandbox Code Playgroud)
和(其中一个)controller使用ProjectHelper:
@Mixin(ProjectHelper)
class ProjectController {
def index() {
withProject params.projectId, {project ->
// do something with the project
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用grails clean并启动应用程序清理项目时,访问后出现以下错误project/index: …