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?