【问题标题】:Grails pass parameter from loop to controllerGrails 将参数从循环传递到控制器
【发布时间】:2015-04-12 21:58:41
【问题描述】:

在 Grails 中,我试图从 (HTML) 表中删除记录,我想通过将对象的 ID 传递给控制器​​来实现这一点。因此,在 HTML 中有一个表格,用户单击“删除”,该项目从数据库中删除。 (这个逻辑根据单元测试工作,问题是从视图传递 ID -> 控制器) 我已经尝试了在这里找到的几种解决方案,例如

<g:each in="${recipe}" var="item">
<tr>
   <td>
      ${item.recipeName}
   </td>
   <td>
      ${item.people}
   </td>
   <td>
      <g:link controller="UserRecipe" action="delete" params="[id: '${item.id}']" class="class">Info to Display</g:link></tr>
</g:each>

虽然 id 的值 = null,但它不会崩溃但会正确调用控制器。例如,当我手动编辑 url 并添加 /4 时,ID 将为 4。这里的几个解决方案展示了如何传递参数,但是当我尝试传递一个我使用 ${} 符号访问这些解决方案的参数时出现错误,例如使用createLinkparams 列表,它会使应用程序崩溃,因为它似乎是一个嵌套的${${}}。

【问题讨论】:

    标签: grails gsp


    【解决方案1】:

    您需要将参数更改为:

    params="[id: item.id]" 
    

    【讨论】:

    • 谢谢,但现在控制器只有“null”作为 id =/
    • 您的浏览器开发工具显示正在加载哪个 URL?
    • 它总是重定向到 /ProjectName/userRecipe/delete。而不是添加参数。 ://
    • 好的@tim_yates 事实证明您的解决方案实际上帮助解决了问题,后续问题现已解决并且与问题无关。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多