我想使用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
答案 0 :(得分:0)
我正在运行grails 2.4,这对我有用:
<g:form resource="author" params="[bookId: 1] action="save">
<input type="hidden" id="2" />
</g:form>