在评论中发表评论,但我在通过表格遥控器在正确的位置进行更新时遇到问题
我有这段代码
<div id="comment">
<g:render template="comment" var="comment" collection="${review.comment}" />
</div>
<g:formRemote class="ui comment form" name="commentForm"
url="[controller: 'game', action: 'addComment']" update="comment">
问题是it's updating correctly in the database. but In the view it is only updating in the top most parent comment and not the correct comment
点击添加评论按钮后
刷新页面后:
不要介意最后一张照片上的错误排列我有一点点排序问题,我稍后会修复,问题是formremote
更新了错误的问题。最后一张图片只是为了表明数据库中的更新是正确的
编辑:
这是动作和模板
def addComment(){
gameService.addComment(params.comment, params.gameId, params.userId, params.reviewId)
def comment = gameService.listComment(params.gameId,params.reviewId)
render(template: 'comment', collection: comment, var: 'comment')
}
模板:
<div class="comment">
<a class="avatar"> <img
src="${createLink(controller:'user', action:'avatar_image', id:"${comment.user.id}" )}" />
</a>
<div class="content">
<g:link class="author" controller="user" action="userProfile"
params="${[userId:"${comment.user.id}"]}">
${comment.user.name }
</g:link>
<div class="metadata">
<span class="date"> ${comment.date }
</span>
</div>
<div class="text">
${comment.comment }
</div>
</div>
答案 0 :(得分:0)
在我看来,你的第一段代码已被多次使用,导致多个div带有id“comment”(我猜是因为你有多个textareas,因此你的截图中有多个表单,这就是完全解释你的问题)。
因此,如果你有多个具有相同id的div标签,formRemote会将返回的html放在第一个。
编辑:该死的,只是注意到这个问题很老了: - /