Grails parámetros indexados
Tengo una lista deTeam
objetos que tienen unaInteger seed
propiedad. Quiero editar todas las semillas de los equipos a la vez, en una sola forma. soyPor supuesto que Grails soporta parámetros indexados, pero no puedo hacer que funcione.
Esto es lo que tengo, y funciona, pero estoy saltando a travéscamino Demasiados aros y tiene que haber una mejor manera.
gsp:
<g:form action="setSeeds">
...
<g:each in="${teams}" status="i" var="team">
<input type="hidden" name="teams[${i}].id" value="${team.id}">
<input type="text" size="2" name="teams[${i}].seed" value="${team.seed}">
</g:each>
</g:form>
controlador:
def setSeeds = {
(0..<30).each { i ->
def team = Team.get(Integer.parseInt(params["teams[${i}].id"]))
team.seed = Integer.parseInt(params["teams[${i}].seed"])
}
redirect(action:list)
}
¿No es eso horrible? Demasiado ruido. ¿Cómo puedo hacer algo en la línea de:
params.teams.each { t ->
def team = Team.get(t.id)
team.seed = t.seed
}
Es decir, ¿cómo mapeo los parámetros nombrados?team[0].seed
, team[0].id
, team[1].seed
, team[1].id
a una lista?
EnRayas solo puedes tener unList<Team>
propiedad y sólo funcionará. ¡No espero menos de Grails! ;-)
Gracias de antemano por tu ayuda.