0

grails プロジェクトのコントローラからメソッドを呼び出そうとしています。このメソッドを反復してリストに項目を表示できます。

//Controller code
Class TicketController {

static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

def ticketsByDate = {
    return [tickets : Ticket.list(sort: 'dateCreated')]
}
...

GSP code

<div class="box-content">
        <ul class="tickets">
            <g:each var="ticket" in="${ticketsByDate}" controller="ticket">
                <li>${ticket.id}</li>
            </g:each>

私はこれを間違った観点から見ているかもしれませんが、私ができるようにしたいのは、いくつかの異なるソースからのデータを集約するページから、このような複数の呼び出しを行うことです. これらのソースは、サービスを呼び出すコントローラー メソッドである可能性が最も高いでしょう。

何かアドバイス?

前もって感謝します

4

1 に答える 1

3

各タグのドキュメントをご覧ください。コレクションを反復処理するために使用されます。このコレクションをコントローラーからビューに渡す必要があります。

あなたの例では、次のスニペットをticketsByDateビューに入れます。

<g:each var="ticket" in="${tickets}">
    <li>${ticket.id}</li>
</g:each>

データ ソースのさまざまなオブジェクトを反復処理する場合は、コントローラー内でデータを集約し、それらをビューに渡す必要があります。

def ticketsByDate = {
    return [tickets : Ticket.list(sort: 'dateCreated'), 
            moreTickets : AnotherThicket.list(), 
            users: User.list(),                 
            ...]
}
于 2012-11-23T20:37:16.280 に答える