我在同一个问题上被困了几天,但我一无所获。
我正在使用 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 状态行应该是
def status = new Post(message: params.message, author: lookupPerson(), child: Child.get(childInstance.id)
在我看来,我有一个由用户选择的 childInstance。无论如何我可以在控制器中保存一个全局变量,或者我可以在 formRemote 标记中发送子实例参数 id。我不认为有,因为我今天一直在尝试这样做。
任何帮助都会很好。我知道唯一可行的方法是将 childInstance.id 写入属性文件并将其读回,但必须有更好的方法,因为我认为这将是非常糟糕的做法。