Grails indizierte Parameter
Ich habe eine Liste vonTeam
Objekte, die eine habenInteger seed
Eigentum. Ich möchte die Samen aller Teams auf einmal in einer einzigen Form bearbeiten. Ich binsicher dass Grails indizierte Parameter unterstützt, aber ich kann es nicht zum Laufen bringen.
Hier ist, was ich habe, und es funktioniert, aber ich springe durchWeg zu viele Reifen und es muss einen besseren Weg geben.
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>
Regler:
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)
}
Ist das nicht schrecklich? Viel zu viel Lärm. Wie kann ich etwas in folgender Weise tun:
params.teams.each { t ->
def team = Team.get(t.id)
team.seed = t.seed
}
Das heißt, wie ordne ich benannte Parameter zuteam[0].seed
, team[0].id
, team[1].seed
, team[1].id
zu einer Liste?
ImStreifen Sie können nur eine habenList<Team>
Eigentum und es wird einfach funktionieren. Ich erwarte nicht weniger von Grails! ;-)
Vielen Dank im Voraus für Ihre Hilfe.