我有这个非常奇怪的问题,我已经选择了我的代码,并取消了我认为会导致这种情况的任何缓存更改,但它仍然存在。
以下是发生的事情:
这是奇怪的部分,如果我将鼠标放在编辑按钮2或3上它有一个链接1.如果我查看生成的HTML,我会得到表格的这一部分:
<form action="/CRM/address/delete/1" method="post" ><input type="hidden" name="_method" value="DELETE" id="_method" />
<fieldset class="buttons">
<a href="/CRM/address/edit/1" class="edit">Edit</a>
<input type="submit" name="_action_delete" value="Delete" class="delete" onclick="return confirm('Are you sure?');" />
</fieldset>
</form>
如果我查看show.gsp,它只是生成的脚手架的基本代码:
<g:form url="[resource:addressInstance, action:'delete']" method="DELETE">
<fieldset class="buttons">
<g:link class="edit" action="edit" resource="${addressInstance}"><g:message code="default.button.edit.label" default="Edit" /></g:link>
<g:actionSubmit class="delete" action="delete" value="${message(code: 'default.button.delete.label', default: 'Delete')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');" />
</fieldset>
</g:form>
控制器具有以下操作:
def show(Address addressInstance) {
respond addressInstance
}
当我打印addressInstance时,它看起来是正确的。
有没有人知道为什么我会在地址2和3的显示屏幕上显示ID 1而不是正确的ID?
我在H2和PostgreSQL,Grails 2.3.3,本地和Heroku上测试过它。
答案 0 :(得分:0)
在Grails 2.3.0-2.3.4中看起来像一个bug linkGenerator缓存。
我创建了一个Jira:http://jira.grails.org/browse/GRAILS-10883
您可以在配置文件中禁用缓存: grails.web.linkGenerator.useCache = false