2010-11-30 34 views
3

Salut, j'ai un domaine si simple comme ce qui suitGrails ne sauveront pas, mais ont aucune erreur

// 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}" 
    } 
} 

et est le contrôleur ici que sauvegarder les données:

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 ; 
} 

Le obj. hasErrors() produit false (cela signifie pas d'erreur) mais il ne sauvegarde pas dans la base de données. Une idée de comment déboguer ça?

ps: myutil.formatDate() -> pour convertir la date chaîne telle que 19/11/2010 à ce jour()

Répondre

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

La condition après && ne sera pas évalué si la condition avant evalue à false.

Comme false && true évalue à , évaluer la deuxième condition serait inefficace du point de vue du langage.

Après tout, dans ce cas, obj.save(..) n'est jamais appelé.

+0

merci ... Comment se fait-il que je ne réalise pas cette petite chose ....> _ < – nightingale2k1