【问题标题】:Unable to generate scaffold code in Grails无法在 Grails 中生成脚手架代码
【发布时间】:2014-08-20 22:11:54
【问题描述】:

当我开始使用 Grails 时,我已经开始创建一个小项目。我想集成脚手架,以便查看和编辑我的域字段。

但是当我执行“运行应用程序”时,我收到以下错误:

错误 ScaffoldingGrailsPlugin - 无法生成控制器逻辑 脚手架类为真。它不是域类!

虽然这允许服务器在我的本地主机上启动,但是当我尝试打开我的 ProductType 控制器页面时,我得到一个 gsp 错误:

HTTP 状态 404 - “/WEB-INF/grails-app/views/productType/index.gsp” 没找到。

所以我认为 index.gsp 页面没有创建,因为我没有使用该名称编写任何 gsp 页面。

我的测试模型的代码:

package grailstest

class ProductType {

    String productCode
    String productName
    String productDescr

    static constraints = {
        productCode (size: 3..20, unique: true, nullable: false)
        productName (maxSize: 45, blank: false)
        productDescr (maxSize: 500, blank: true)        
    }
}

以及我的测试控制器的代码:

package grailTest

class ProductTypeController {
    static scaffold = true

    def index() { }
}

所以它是尽可能基本的。明明一定是很简单的东西盯着我嘲讽。

【问题讨论】:

  • 从控制器中删除 def index() { } 并在运行应用程序之前运行 grails refresh-dependencies

标签: grails


【解决方案1】:

包名上的拼写错误会产生此错误。

更改控制器包名称:

包grailTest

收件人:

包 grailstest

这解决了问题,模型和控制器类可以互相看到。脚手架正在运行。

呃!

【讨论】:

    【解决方案2】:

    需要满足以下条件之一

    • 控制器的包名和类名应与域类一致

    • 应明确指定域类

    例子:

    class AbcController {
    
        // Specify domain class
        static scaffold = Domain
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 2017-07-29
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多