Team
プロパティを持つオブジェクトのリストがありInteger seed
ます。すべてのチームのシードを 1 つのフォームで一度に編集したい。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
Stripesでは、List<Team>
プロパティを持つだけで機能します。Grails にも期待しています。;-)
よろしくお願いします。