我们正在为我们的应用程序使用 grails 2.3.3。
对资源的访问需要通过 REST 接口完成,因为它将通过 Web 浏览器和其他应用程序进行访问。
为此,UrlMapping.groovy 包含 REST 映射,例如:
"/toys"(resources:"toy")
控制器继承自 ResftulController
import grails.rest.RestfulController
class ToyController extends RestfulController {
// Derived from RestfulController as described in
// http://grails.org/doc/latest/guide/webServices.html#REST
//
// All RAILS functions implemented in base class
static responseFormats = ['json', 'html']
ToyController() {
super(Toy)
}
}
我们在使用带有 jQuery 插件的 g:formRemote 更新项目时遇到问题。
<g:formRemote name="updateForm"
id="${toy.id}"
method="PUT"
url="[controller: 'toy', action:'update' ]">
更新时,它不使用正确的 URL:
Request URL: http://localhost:8080/app/toy/update
METHOD: PUT
FORM DATA: ...
AFAIK URL 应该是这样的:
Request URL: http://localhost:8080/app/toys/5252
METHOD: PUT
FORM DATA: ...
这是在 Grails 2.3 中将 g:formRemote 与 RESTful 资源一起使用的正确方法吗?
g:formRemote 是否能够使用 URL 映射来创建正确的 URL?
g:link 具有属性 resource 以生成指向 REST 资源的链接。表格也有等价物吗?
<g:link resource="${book}">My Link</g:link>