私は同じ問題で数日間立ち往生しており、どこにも行きません。
ag:formRemote タグを使用してメッセージ テンプレートを更新しています
<g:formRemote url="[action: 'updateStatus']" update="messages" name="updateStatusForm"
onSuccess="document.updateStatusForm.message.value='';">
<g:textArea name="message" value="" cols="3" rows="1"/><br/>
<g:submitButton name="Update Status"/>
</g:formRemote>
次に、このフォームはコントローラーで updateStatus メソッドを呼び出します
def updateStatus(String message) {
def status = new Post(message: params.message, author: lookupPerson())
status.save(flush: true, failOnError: true)
def messages = currentUserTimeline()
render template: 'profileMessages', collection: messages, var: 'profileMessage'
}
しかし、定義ステータス行は
def status = new Post(message: params.message, author: lookupPerson(), child: Child.get(childInstance.id)
私の見解では、ユーザーが選択した childInstance があります。とにかく、保存されているコントローラーにグローバル変数を含めることができますか、それとも formRemote タグで子インスタンスのパラメーター ID を送信できますか。私は今日ずっとこのようにしようとしてきたので、そこにはないと思います。
どんな助けでもいいでしょう。私が知っている唯一の方法は、childInstance.id をプロパティ ファイルに書き込んで読み戻すことですが、これは非常に悪い習慣だと思うので、もっと良い方法があるはずです。