Grails-如何从不同的控制器保存一个类实例?
我有一个来自Grails-如何从不同的控制器保存一个类实例?,grails,controller,save,grails-domain-class,Grails,Controller,Save,Grails Domain Class,我有一个来自\u form.gsp的输入列表。i、 e.英语、科学、数学、音乐以及其他学生信息。单击submit按钮时,会转到studentController保存方法 如果找不到音乐数据库,我想将其添加到课程数据库中 这就是我现在拥有的 def save(Student studentInstance) { .... def courseInputList = params.course.tokenize(', ') for (item in courseInputLi
\u form.gsp
的输入列表。i、 e.英语、科学、数学、音乐
以及其他学生
信息。单击submit
按钮时,会转到studentController
保存
方法
如果找不到音乐
数据库,我想将其添加到课程
数据库中
这就是我现在拥有的
def save(Student studentInstance) {
....
def courseInputList = params.course.tokenize(', ')
for (item in courseInputList){
def courseID = Course.findByCourseLike(item)
StudnetCourse.link(studentInstance,courseID)
}
....
}
我有一个自动完成,所以用户将开始键入,并弹出一个列表供选择
我在def courseID=Course.findByCourseLike(item)
下面添加了if(courseID==null){}
语句,但保存条件没有成功。我尝试了重定向``forward``新课程(项目)。保存flush:true
等。请帮助
提前感谢。您可以使用域的动态方法:findOrCreateBy*。在您的情况下,它将类似于:
def courseInputList = params.course.tokenize(', ')
for (item in courseInputList){
def courseID = Course.findOrCreateByCourseLike(item)
StudnetCourse.link(studentInstance,courseID)
}
您可以在此处找到更多信息:您是否尝试使用
failOnError:true
查看是否有错误?很好,它成功了。我需要保存课程,所以我使用了findOrSaveBy
。非常感谢。