studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones select grails multi-select

programacion - grails select múltiple: los valores no se almacenan en el objeto relacionado



manual de programacion android pdf (1)

Usted nombró la etiqueta de selección " receiptItems ", por lo que en el controlador inspeccionar ese parámetro y luego agregarlo a la receiptInstance :

params?.receiptItems?.each { def service = HealthService.get(it) receiptInstance.addToHealthServices(service) }

Tengo una selección múltiple de la siguiente manera:

<g:select name="receiptItems" from="${HealthService.findAllByDoctor(Doctor.findBySecUser(new ReceiptController().getCurrentlyLoggedUser()))}" multiple="multiple" optionKey="id" optionValue="${{it.healthServiceType.healthService}}" size="5" value="${receiptInstance?.healthServices*.id}" class="many-to-many" onchange="${remoteFunction( controller: ''Receipt'', action: ''sumReceiptItems'', params: ''/'receiptItemsSelected=/' + jQuery(this).val()'', onSuccess: ''updateTotalAmount(/'totalAmount/', data, /'00000/')'')}"/>

Después de cada selección, con la función remoteFunction , se llama a un método del controlador para hacer algunos cálculos y actualizar el campo TotalAmount. Funciona bien pero, cuando se llama al método save , el campo healthServices es nulo ... y no entiendo por qué. Lo he intentado también con

receiptInstance?.healthServices.collect{it.id}

pero tengo el mismo resultado. ¿Cualquier sugerencia?