私はコントローラーからコレクションを渡して、次のように表示しようとしています。
def index() {
childInstance = Child.get(params.id)
if(childInstance){
System.out.println("CHILD" + childInstance.firstname)
def messages = currentUserTimeline(childInstance)
[profileMessages: messages, childInstance: childInstance]
}
else{
def messages = currentUserTimeline(null)
[profileMessages: messages]
System.out.println("ALL " + messages)
}
}
ifは機能しますが、else docentは、profileMessagesをnullオブジェクトとして送信します。追加した場合
render template: 'profileMessages', collection: messages, var: 'profileMessage'
他の人にはこれは機能しますが、すべてをビューに渡し、コントローラーでレンダリングしたくありません。
私が使用しているビューで:
<g:render template="profileMessages" collection="${profileMessages}" var="profileMessage"/>
ビューに送信されたときに、ifで機能し、elseでは機能しない理由はありますか?参考までに追加しました
[profileMessages: messages, childInstance: null]
運がなく、nullが許可されており、
currentUserTimeline(null)
なぜなら
render template: 'profileMessages', collection: messages, var: 'profileMessage'
動作します。