gpt4 book ai didi

grails - grails 3.3.8生成的 Controller 无法创建对象

转载 作者:行者123 更新时间:2023-12-02 15:43:16 25 4
gpt4 key购买 nike

我有一个用户域对象,其中包含通常的字段(名称,密码等)

我使用以下命令生成了 View 和 Controller :

grails生成所有用户

慷慨的UserController具有:

 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()
}

它变得更进一步-它创建了用户,但之后重定向失败。

最佳答案

看来您的User类没有被识别为域类。我可以说,因为我们添加到域类中的Map构造函数将忽略Map中的类中没有相应属性的条目。您看到的错误是默认的Groovy Map构造函数产生的,这就是为什么我认为您的User类未被识别为域类的原因。

确认已在User中定义了grails-app/domain/gi/dam/desk/core/User.groovy域类,并且如果问题仍然存在,请从命令行./gradlew bootRun运行应用程序时验证是否出现问题。这将排除您可能会进行的与未正确配置IDE有关的许多事情。

关于grails - grails 3.3.8生成的 Controller 无法创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com