我正在使用域类Alojamiento及其生成的控制器和视图。 下一个代码有效:
我已经以视图的形式包含了另一种形式:
<g:render template="../caracteristicas/form" bean="${params.caracteristicasInstance}" />
现在,控制器的编辑操作有:
def alojamientoInstance = Alojamiento.get(id)
def caracteristicasInstance = alojamientoInstance.caracteristicas
[caracteristicasInstance: caracteristicasInstance,
以及控制器的更新操作:
def caracteristicasInstance = Caracteristicas.get(id)
caracteristicasInstance.properties = params
caracteristicasInstance.save(flush: true)
正如我所说的,上面的代码可以正常工作,但它没有防止错误,因此我正在尝试使用CaracteristicasController的更新操作(我正在遵循这种方法:http://stuff4j.blogspot.com.es/2011/04/calling-controller-method-from-another.html)。 下一个代码不起作用,但我认为它解释了我正在尝试的内容:
CaracteristicasController caracteristicasController = new CaracteristicasController()
CaracteristicasController.properties = params
CaracteristicasController.params.doNotRedirect = 'true' // See: http://stuff4j.blogspot.com.es/2011/04/calling-controller-method-from-another.html
CaracteristicasController.update()
顺便说一句,Grails的错误是:“无法设置只读属性:属性”
更新1
我想我没有解释好。我在_form.gsp 3中嵌入了_form.gsp(我在我的问题1中说过以简化)。所以当我编辑_form.gsp时,其他的也必须更新。我想调用“子”控制器的更新操作来更新表单,但不要移动到它们。我想继续在“父”控制器中,所以当一切都更新时,将出现“父”的show.gsp。我现在能更好地解释一下吗?