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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage