Grails将参数从循环传递给控制器

时间:2015-04-12 21:58:41

标签: grails gsp

在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的值,但它不会崩溃但会正确调用控制器。当我手动编辑网址并添加/ 4时,ID将为4。这里的几个解决方案展示了如何传递参数,但是当我尝试使用这些解决方案使用$ {}表示法访问参数时,错误就会产生,例如:使用createLinkparams列表会使应用程序崩溃,因为它似乎是嵌套的$ {$ {}}。

1 个答案:

答案 0 :(得分:1)

您需要将参数更改为:

params="[id: item.id]"