小编aio*_*los的帖子

Controller @Mixin在重新编译运行应用程序后才能正常工作

在我最新的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: …

grails groovy mixins

6
推荐指数
1
解决办法
880
查看次数

标签 统计

grails ×1

groovy ×1

mixins ×1