【发布时间】:2011-02-25 14:07:23
【问题描述】:
我编写了一个基类来帮助更快地构建我的控制器并消除重复。它提供了一些辅助方法、默认操作和一些元编程,使这些东西更容易构建。
基类中的其中一个方法是这样的:
def dynamicList(Class clazz) {
def model = new LinkedHashMap()
model[getMapString(clazz) + "s"] = list(clazz)
model[getMapString(clazz) + "sTotal"] = count(clazz)
model
}
调用它的动作,也在基类中,是这样的:
def list = {
dynamicList(clazz)
}
不幸的是,当我在部署我的应用程序时在继承基类的控制器子类中列出操作时,我得到了这个异常:
groovy.lang.MissingMethodException: No signature of method: groovy.lang.MissingMethodException.dynamicList() is applicable for argument types: (java.lang.Class) values: [class project
.user.User]
at project.user.UserController$_closure1.doCall(UserController.groovy:18)
at project.user.UserController$_closure1.doCall(UserController.groovy)
at java.lang.Thread.run(Thread.java:619)
我怎样才能在头上击中圣杯,然后告诉它做我想让它做的事情?我的控制器单元测试运行得很好,所以 grails 的运行时完全出错了:/
肯
【问题讨论】:
标签: grails controller base-class