Data binding Grails数据绑定怀疑

Data binding Grails数据绑定怀疑,data-binding,grails,Data Binding,Grails,CarroInstance正在保存,但carroMovelInstance没有保存。我想不出来。任何帮助都将不胜感激。您从未要求carroMovelInstance保存。。。carro实例没有对carroMovel实例的引用,因此没有级联保存,因为您从未调用过carroMovelInstance.save() 但是,简单地利用Grails的数据绑定可能更简单,而不是不必要地创建关联和手动绑定参数 def save2 = { def carroInstance

CarroInstance正在保存,但carroMovelInstance没有保存。我想不出来。任何帮助都将不胜感激。

您从未要求carroMovelInstance保存。。。carro实例没有对carroMovel实例的引用,因此没有级联保存,因为您从未调用过
carroMovelInstance.save()

但是,简单地利用Grails的数据绑定可能更简单,而不是不必要地创建关联和手动绑定参数

 def save2 = {

                def carroInstance = new Carro()
                def carroMovelInstance = new CarroMovel()

                carroInstance.name = params.name
                carroInstance.marca = params.marca
                carroInstance.matricula = params.matricula

                carroMovelInstance.prop1 = params.carroMovel.prop1
                carroMovelInstance.prop2 = params.carroMovel.prop2
                carroMovelInstance.prop3 = params.carroMovel.prop3

                carroInstance.save()
                carroMovelInstance.carro = carroInstance
                carroMovelInstance.save()                 

            }

阅读Grails,特别是关于关联的部分。此外,请阅读以了解对父域对象的
save()
调用如何(或不会)级联到关联的域对象。

我复制它时出错。最后一行应该是:“carroMovelInstance.save()”
 def save2 = {

                def carroInstance = new Carro()
                def carroMovelInstance = new CarroMovel()

                carroInstance.name = params.name
                carroInstance.marca = params.marca
                carroInstance.matricula = params.matricula

                carroMovelInstance.prop1 = params.carroMovel.prop1
                carroMovelInstance.prop2 = params.carroMovel.prop2
                carroMovelInstance.prop3 = params.carroMovel.prop3

                carroInstance.save()
                carroMovelInstance.carro = carroInstance
                carroMovelInstance.save()                 

            }
// Update your Carro domain.
def Carro {
    String name
    String marca
    String matricula

    // will cause persistence operations to cascade from CarroMovel to Carro
    static belongsTo = CarroMovel
}

// Update your save2 action.
// By passing 'params' to the CarroMovel constructor, Grails will bind request
// parameters to domain properties of the same name; it even works with associations!
def save2 = {
    def carroMovelInstance = new CarroMovel(params)
    if(carroMovelInstance.validate) {
        carroMovelInstance.save()
    }
}