2010-11-30 38 views
3

Hallo ich eine Domain haben, die so einfach wie das folgendegrails nicht speichern, haben aber keine Fehler

// page 52 Bankruptcy Questions 
class FamilyLawFinancial{ 

    Date dateOfTheOrder ; 
    boolean isPartyToFamilyLawProperty = false; 
    boolean isCurrentlyInvolvedInFamilyLawProperty = false; 
    boolean isBecomeInvolvedInProceedings = false; 

    static belongsTo=[person:Person]; 

    static constraints = { 
     dateOfTheOrder(nullable:true); 
     isPartyToFamilyLawProperty(nullable:false); 
     isCurrentlyInvolvedInFamilyLawProperty(nullable:false); 
     isBecomeInvolvedInProceedings(nullable:false); 
    } 

    String toString(){ 
     "${id}" 
    } 
} 

und hier ist die Steuerung, die die Daten speichern:

def save = { 
    def person = Person.get(session.curperson.id); 
    def obj = FamilyLawFinancial.findByPerson(person); 
    if(obj == null){ 
     obj = new FamilyLawFinancial(); 
     obj.person = person ; 
    } 
    params.dateOfTheOrder = myutil.formatDate(params.dateOfTheOrder); 
    obj.properties = params; 

    println(obj.hasErrors()); 
    println(obj.dateOfTheOrder); 
    if(obj.hasErrors() && !obj.save(flush:true)){ 
     println("errors: ${obj.errors}"); 
     flash.message = "error found"; 
     println("save familyLawFinancial errors: ${errors}"); 
    }else{ 
     flash.message = "saved "; 
    } 
    redirect(controller:'frontPage', action:'index'); return ; 
} 

Die obj. hasErrors() erzeugt false (es bedeutet keinen Fehler), speichert es aber nicht in der Datenbank. Irgendeine Idee, wie man das debuggt?

ps: myutil.formatDate() -> für das Datum String wie 19/11/2010 to Date Umwandlung()

Antwort

6
if(obj.hasErrors() && !obj.save(flush:true)){ 

Der Zustand nach && nicht, wenn die Bedingung vor auswertet werden ausgewertet zu false.

Da false && true zu false auswertet, wäre die Auswertung der zweiten Bedingung vom Standpunkt der Sprache aus ineffizient. In diesem Fall wird obj.save(..) niemals aufgerufen.

+0

danke ... Wie kommt es, dass ich das kleine Ding nicht realisiere ....> _ < – nightingale2k1

Verwandte Themen