我試圖按照grails tutorial here。list.gsp FileNotFoundException當遵循Grails腳本教程與應用程序引擎插件
當我創建使用create-controller XXX.Card
並修改它使用腳手架按照教程一個新的控制器:
package XXX
class CardController {
def scaffold = Card
}
我出現以下情況例外,當我點擊XXX.CardController:
org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: static XXX.Card.list() is applicable for argument types: (org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap) values: [[max:10, action:list, controller:card]]
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54)
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:342)
Caused by: groovy.lang.MissingMethodException: No signature of method: static XXX.Card.list() is applicable for argument types: (org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap) values: [[max:10, action:list, controller:card]]
at XXX.CardController$_closure2.doCall(script1258397512682.groovy:14)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
at XXX.CardController$_closure2.doCall(script1258397512682.groovy)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
... 5 more
我m使用Grails 1.1.1和app-engine 0.8.5和gorm-jpa 0.5插件。
我在做什麼錯?
這裏是我用來重現此問題的腳本:
rm -rf ~/.grails/1.1.1/projects/XXX
grails create-app XXX
cd XXX
grails install-plugin gorm-jpa
grails install-plugin app-engine # Note: specify JPA when prompted
grails create-domain-class XXX.Card
grails create-controller XXX.Card
cat > grails-app/controllers/XXX/CardController.groovy <<EOF
package XXX
class CardController {
def scaffold = Card
}
EOF
cat > grails-app/domain/XXX/Card.groovy <<EOF
package XXX
class Card {
List emails
static hasMany = [emails:String]
}
EOF
grails app-engine
您嘗試點擊的URL看起來不正確... URL中的項目名稱在哪裏?它應該是http:// localhost:8080/project/card不應該嗎?不過,這不是錯誤的URL會導致你看到的錯誤,而且錯誤消息似乎表明你實際上在URL中有一個XXX。 – billjamesdev