grails - Grails-如何从另一个 Controller 保存一个类实例?

标签 grails controller save grails-domain-class

我有一个来自_form.gsp的输入列表。即English, Science, Math, Music以及其他student信息。单击submit按钮后,它将转到studentController save方法。

如果找不到,我想将Music添加到course数据库。

这就是我现在所拥有的。

def save(Student studentInstance) {
....
    def courseInputList = params.course.tokenize(', ')
        for (item in courseInputList){  
            def courseID = Course.findByCourseLike(item)
            StudnetCourse.link(studentInstance,courseID)
        }
....
}

我有一个自动完成功能,因此用户将开始输入内容,并会弹出一个列表供您选择。

我在if (courseID == null) { }下添加了def courseID = Course.findByCourseLike(item)语句,但保存条件没有任何成功。我尝试了redirect``forward``new Course(item).save flush:true等。请帮助。

提前致谢。

最佳答案

您可以使用域的动态方法: findOrCreateBy * 。在您的情况下,它将像:

def courseInputList = params.course.tokenize(', ')

for (item in courseInputList){  
        def courseID = Course.findOrCreateByCourseLike(item)
        StudnetCourse.link(studentInstance,courseID)
}

您可以在这里找到更多信息:http://grails.github.io/grails-doc/2.3.x/ref/Domain%20Classes/findOrCreateBy.html

关于grails - Grails-如何从另一个 Controller 保存一个类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34681099/

相关文章:

ios - 保存录制的音频 (Swift)

jquery - 服务器端(grails Controller )上的json数据为null

java - Spring MVC 4.1.7 警告 : No mapping found for HTTP request with URI [/user] in DispatcherServlet

未找到 JavaFX Controller 方法

python - 如何在目录中的所有文件上运行 python 脚本?

javascript - 如何从 JavaScript 变量保存 png

tomcat - 在 Tomcat 上运行时 Grails 服务注入(inject)失败

grails - GORM 中的复合外键列

mongodb - Grails-Mongo检查包含在域的列表条件查询中

javascript - Angularjs指令调用 Controller 函数