如何为嵌套资源配置g:form

时间:2014-07-09 20:14:05

标签: forms rest grails

我想使用Grails 2.3中引入的嵌套资源网址映射内容。让<g:form />处理这样的事情我遇到了麻烦:

"/books"(resources:'book') {
  "/author"(resource:"author")
}

在这种情况下,我为作者使用单一资源。如果我想在/books/1/author/edit中添加一个表单,该表单会更新相应图书的作者。

我的问题是,如何配置<g:form />,以便它会使用网址/books/1/author作为操作?根据{{​​3}}上的文档,没有选项可以像g:form那样设置资源属性。还有其他任何可能性,或者是在整个grails REST中使用表单而不是一等公民?让我觉得它会以这种方式工作的另一件事是Grails 2.3 REST改进提案g:link,其中这些代码行使我走向了这个方向:

// nested resources
<g:form resource="book/author" bookId="1" id="2" method="DELETE"> -> /books/1/authors/2
<g:form resource="book/author" bookId="1" id="2" method="PUT"> -> /books/1/authors/2 
<g:link resource="book/author" action="edit" bookId="1" id="2"> -> /books/1/authors/edit/1    

1 个答案:

答案 0 :(得分:0)

我正在运行grails 2.4,这对我有用:

<g:form resource="author" params="[bookId: 1] action="save">
  <input type="hidden" id="2" />
</g:form>