Parametry indeksowane Grails
Mam listęTeam
obiekty, które mająInteger seed
własność. Chcę edytować wszystkie nasiona drużyn jednocześnie, w jednej formie. Jestempewnie że Grails obsługuje indeksowane parametry, ale nie mogę go uruchomić.
Oto co mam i działa, ale skaczęsposób za dużo obręczy i musi być lepszy sposób.
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>
kontroler:
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)
}
Czy to nie okropne? Zbyt dużo hałasu. Jak mogę zrobić coś na wzór:
params.teams.each { t ->
def team = Team.get(t.id)
team.seed = t.seed
}
To znaczy, jak mapować nazwy nazwaneteam[0].seed
, team[0].id
, team[1].seed
, team[1].id
do listy?
WPaski możesz po prostu miećList<Team>
własność i będzie działać. Oczekuję nie mniej od Grails! ;-)
Z góry dziękuje za twoją pomoc.