保存后,在控制器中刷新会话

时间:2017-09-26 08:20:16

标签: session grails flush grails-controller

我在使用它后如何刷新会话时遇到问题。我已经召集了一个会议,当它安全时,我希望它被冲走。

在save()控制器上它有.save flush:true但为什么会话没有被刷新?

我已经做了一些关于冲洗会议的研究,但遗憾的是我太过于理解它了。

相关文章:

  1. How to force flushing in Grails GORM
  2. Do I ever need to explicitly flush GORM save calls in grails?
  3. 控制器:

    def create(){
    
    
       def project = session['projectName'] // call out my session
       def projectNames     = Project.findAllByProjectName(project.projectName) // find out the project name inside my session and assign it in to "projectNames"
       
       model:[projectNames:projectNames] // pass it to GSP and to let the user choose from the drop down
     
       projectNames.save flush:true // but is an error
       projectNames.currentSession.flush() //got no class currentSession
    
    }

    编辑1

    def save() //generated by grails
    {
    
    project.save flush:true
    }

    提前致谢。

    最好的问候,嗨

1 个答案:

答案 0 :(得分:0)

你要看的第一件事就是下面一行

def projectNames = Project.findAllByProjectName(project.projectName)

您正在获取与名称project.projectName匹配的项目列表,因此它返回项目实例List<Project> projectNames的列表。

你应该打电话给

projectNames*.save(flush:true, failOnError: true)

我在代码中没有看到任何更新操作,所以只是想知道为什么你真的需要在这里进行保存操作。