我最近正在研究grails,并想知道如何做更复杂的脚手架
例如,如果我想要Scaffold一个类
class Book{
Author a
Publisher p
// ....
}
作者类
class Author{
String firstName
String lastName
// ...
}
发布商类
class Publisher{
String name
String address
// ....
}
现在,如果我有一个BookController
class BookController{
static scaffold = true;
}
我有
的布局作者发布商
但是如果我想要一个带
的布局的AuthorID AuthorFirstName AuthorLastName PublisherName的PublisherAddress
我查看了http://grails.org/doc/latest/guide/scaffolding.html,但是,我无法将其设置为给定的属性。我想知道我能够完成它吗?教程会有所帮助。
答案 0 :(得分:0)
Grails中的脚手架插件并非旨在处理开箱即用的这些类型的复杂视图。您有几个选择:
使用install-templates
命令修改脚手架模板以满足您的需求。
重新设计您的域类,以使用嵌入式Author
和Publisher
。这将改变脚手架输出,但它也会改变很多。除非您了解这将对您的域模型进行的所有更改,否则我不会使用此选项。
使用脚手架生成代码,然后自定义输出以满足您的需求。
在这里提出的三个选项中,我会推荐第三个选项,因为它最有意义地解决你问题的狭窄范围。
答案 1 :(得分:0)
您也可以使用瞬变。但默认情况下不会显示瞬态。
您需要modify the templates并使用约束(即id
)明确隐藏其他隐藏字段注意:以下代码未经测试,仅供参考。
//optional, but allows code completion in IDE ;-P
String authorName
String getAuthorName(){
return a.firstName + ' ' + a.lastName
}
static transients = [authorName:String]
static constraints = {
id(display:false)
}