代码之家  ›  专栏  ›  技术社区  ›  John Little

grails3.3.8生成的控制器无法创建对象

  •  0
  • John Little  · 技术社区  · 7 年前

    我有一个带有常用字段(名称、密码等)的用户域对象

    grails生成所有用户

     def create() {
          respond new User(params)
     }
    

    当我运行应用程序并单击“创建用户”按钮时,我收到以下错误:

    Error 500: Internal Server Error
    URI
    /user/create
    Class
    groovy.lang.MissingPropertyException
    Message
    null
    Caused by
    No such property: controller for class: gi.dam.desk.core.User
    Around line 23 of grails-app/controllers/gi/dam/desk/admin/UserController.groovy
    20:     }
    21:
    22:     def create() {
    23:          respond new User(params)
    24:     }
    

    如果我调试应用程序,并查看“params”的内容,则:

    controller: user
    format: null
    action: create
    

    这似乎很奇怪,这将传递到创建一个域对象。不管怎样,它都失败了。

    如果我马上更改代码:

     def create() {
          respond new User()
     }
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   Jeff Scott Brown    7 年前

    User 类未被识别为域类。我可以这么说因为 Map 地图 类中没有相应的属性。您看到的错误是默认Groovy中出现的错误 地图 建造师,所以我认为 用户

    用户 域类在中定义 grails-app/domain/gi/dam/desk/core/User.groovy 如果问题仍然存在,请验证从命令行运行应用程序时是否出现问题 ./gradlew bootRun

    推荐文章