Индексируемые параметры Грааля

У меня есть списокTeam объекты, которые имеютInteger seed свойство. Я хочу редактировать семена всех команд сразу, в одной форме. яконечно что Grails поддерживает индексированные параметры, но я не могу заставить его работать.

Вот то, что у меня есть, и это работает, но я прыгаю черезпуть слишком много обручей, и должен быть лучший способ.

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>

контроллер:

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)
}

Разве это не ужасно? Слишком много шума. Как я могу сделать что-то вроде:

params.teams.each { t ->
  def team = Team.get(t.id)
  team.seed = t.seed
}

То есть, как мне сопоставить параметры с именемteam[0].seed, team[0].id, team[1].seed, team[1].id в список?

Вполосы Вы можете просто иметьList<Team> собственности, и это будет просто работать. Я ожидаю не меньше от Грааля! ;-)

Заранее спасибо за вашу помощь.

Ответы на вопрос(4)

Ваш ответ на вопрос