在资源映射中嵌套常规URL映射时,是否可以更改生成的变量的名称

  • 本文关键字:映射 变量 是否 嵌套 资源 常规 URL grails
  • 更新时间 :
  • 英文 :


为了在资源映射中嵌套常规URL映射,根据URL映射部分的grails文档,您可以执行以下

"/books"(resources: "book") {
"/publisher"(controller:"book", action:'publisher', method: "GET")
}

这将生成以下URL列表

Controller: book
|   GET    | /books/create                                     | Action: create              |
|   GET    | /books/${id}/edit                                 | Action: edit                |
|   GET    | /books/${bookId}/publisher                        | Action: publisher           |
|   POST   | /books                                            | Action: save                |
|   GET    | /books                                            | Action: index               |
|  DELETE  | /books/${id}                                      | Action: delete              |
|  PATCH   | /books/${id}                                      | Action: patch               |
|   PUT    | /books/${id}                                      | Action: update              |
|   GET    | /books/${id}                                      | Action: show                |

正如您所看到的,"/publisher"(controller:"book", action:'publisher', method: "GET")生成的url使用变量bookId,而不是像其他url一样使用id

/books/${bookId}/publisher

我的问题是,是否可以更改这个变量的名称,并像其他一样将其命名为id

提前感谢

我个人没有使用过这种映射风格,但我相信资源映射中常规URL映射的目的是对特定路径做一些"特殊"的事情,在这种情况下是/publisher(例如,您可以将其完全映射到不同的控制器,等等)

听起来你希望它的行为像另一个标准的GET方法,所以你可以添加一个资源条目,比如

get "/books/$id/publisher"(controller:"book", action:"publisher")

最新更新