2017-09-26 5 views
0

Ich habe ein Problem darüber, wie ich meine Sitzung wegzuspülen, nachdem ich es verwendet habe. Ich habe eine Sitzung aufgerufen, und wenn sie es sicher ist, möchte ich, dass es weggespült wird.Flush-Sitzung in der Steuerung, nachdem ich gespeichert habe

Auf dem save() Controller hat es .save flush:true, aber warum die Sitzung nicht weggespült wurde?

Ich habe etwas über Spülsitzungen gemacht, aber leider bin ich zu noob, um es zu verstehen.

Related Post:

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

Controller:

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 
 

 
}

EDIT 1

def save() //generated by grails 
 
{ 
 

 
project.save flush:true 
 
}

Vielen Dank im Voraus.

Mit freundlichen Grüßen, Hee

Antwort

0

Das erste, was Sie achten sollten ist die unterhalb der Linie

def projectNames = Project.findAllByProjectName(project.projectName) 

Sie holen die Liste der Projekte mit dem Namen übereinstimmen project.projectName, so dass es eine Liste von Projekt Instanz zurückgibt List<Project> projectNames .

sollten Sie rufen die

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

Ich sehe nicht, jeder Aktualisierungsvorgang so einfach in Ihrem Code wndering warum Sie wirklich ein opration hier sparen müssen.

+0

Danke für die Antwort! "Create" Controller ist ein Formular, es wird von Grails generiert. (generate-all), also ist mein "Safe" -Controller der Button "create", der durch Grails generiert wird. Da "sicher" den Code "flush: true" hat, warum wird die Sitzung nicht gelöscht? * Ich habe meinen save() Controller aktualisiert – Trainee

Verwandte Themen