【问题标题】:Grails: Edit and Delete links not workingGrails:编辑和删除链接不起作用
【发布时间】:2011-03-08 08:49:19
【问题描述】:

我创建了一个额外的列并在列表末尾添加了用于编辑和删除事件的图标。

这就是我所拥有的

<g:form value="${it.id}">
                            <g:hiddenField name="id" value="${it.id}" />
                            <span class="simple"><g:actionSubmit class="editar" action="edit" value="${message(code: 'default.button.editar.label', default: '&nbsp;&nbsp;&nbsp;')}" /></span>
                            <span class="simple"><g:actionSubmit class="eliminar" action="delete" value="${message(code: 'default.button.eliminar.label', default: '&nbsp;&nbsp;&nbsp;')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Esta seguro que desea Eliminar?')}');" /></span>
                        </g:form>

我写了The ID is ${it.id},它会识别它并给我ID号,所以我不知道问题出在哪里。任何帮助将不胜感激。谢谢。

更新

所以我认为错误是在定义编辑和删除的控制器中

def edit = {
    def entryInstance = Entry.get(params.id)
    if (!entryInstance) {
        flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'entry.label', default: 'Proyecto/Ruta'), params.id])}"
        redirect(action: "list")
    }
    else {
        return [entryInstance: entryInstance]
    }
}

我认为既然它在获取参数中显示 params.id 我不能正常工作,我还有什么其他选择??

【问题讨论】:

  • 嘿费尔南多,你能描述一下到底发生了什么吗?你填充结果,点击“编辑”或“删除”按钮,然后呢?
  • 然后分别去edit.gsp或者delete.gsp...
  • 更新了帖子,因为我认为错误出在控制器中
  • 等等...你点击编辑然后它进入edit.gsp?它不是在做你想让它做的事吗?
  • 如果我从 list.gsp 中单击它,是的,但是当我从 searchResults.gsp 中的过滤结果中单击它时,它会抛出一个错误,提示找不到 id,以及发布的内容有来自 searchResults.gsp,代码在 list.gsp 中工作正常

标签: grails groovy filter


【解决方案1】:
<g:form id="${it.id}"> 
   <span class="simple">
     <g:actionSubmit class="editar" action="edit" 
                     value="${message(code:'default.button.editar.label', 
                                      default: '&nbsp;&nbsp;&nbsp;')}" />
   </span>
   <span class="simple">
     <g:actionSubmit class="eliminar" action="delete" 
                     value="${message(code: 'default.button.eliminar.label', 
                                      default: '&nbsp;&nbsp;&nbsp;')}" 
                     onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Esta seguro que desea Eliminar?')}');" />
   </span>
 </g:form>

总而言之:将 g:form 标签中的 value="${it.id}" 替换为 id="{it.id}" 并删除 ID 的 hiddenField。我认为这将解决问题。

如果它不起作用,请告诉我......

【讨论】:

  • 完美我的朋友!谢谢!
  • 现在我错过了最后一件事,它会在页面首次打开时加载自动过滤器。明天早上我将发布一个新问题和更多代码。你帮了我很大的忙,我真的很感激!
  • 这里是新问题的链接。 stackoverflow.com/questions/3150155/…
猜你喜欢
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2016-03-20
  • 2016-10-24
相关资源
最近更新 更多