【发布时间】:2013-11-07 22:29:23
【问题描述】:
使用默认的 grails 脚手架,最简单或最有效的方法是使“级别”字段介于 0 和 5 之间,作为选择列表下拉菜单?
或者,是否只有我安装模板并自定义它们才能做到。我已经阅读过这方面的内容,但除非必要,否则我不想这样做。
这是域类:
package treetester
class CustomerDivisionTreeNode {
String name
int level
CustomerDivisionTreeNode parent
static constraints = {
parent(nullable: true)
}
static hasMany = [children: CustomerDivisionTreeNode]
static mappedBy = [children:'parent']
}
这是控制器类
package treetester
class CustomerDivisionTreeNodeController {
def scaffold = CustomerDivisionTreeNode
}
我在文档中看到,(http://grails.org/doc/latest/guide/scaffolding.html) 你可以这样做...
您还可以让生成器生成列表而不是文本 如果使用 inList 约束,则输入:
定义约束 = { 标题() 类别(inList:[“小说”,“非小说”,“传记”]) 发布日期()}
所以,逻辑告诉我我想要这样的东西:
level(inList:["0","1","2","3","4","5"])
但是把它放在哪里并让它发挥作用呢?
【问题讨论】:
-
“脚手架”是什么意思。据我了解,您需要使用值进行选择。为什么要搭脚手架?
-
@baxxabit:我所说的“脚手架”是指 Grails 默认的脚手架,它动态地呈现该域的 CRUD。我的问题是,我可以更改动态生成的页面(基于默认脚手架)的显示方式吗?在此示例中,我想将“级别”字段从呈现为普通 更改为
-
@baxxabit:您关于脚手架的问题似乎表明您不了解 Grails 语句:def scaffold = CustomerDivisionTreeNode
-
也许你是对的 :) 你能试着解释一下,你是怎么理解的,def scaffold = CustomerDivisionTreeNode 是如何工作的?会发生什么?
-
下面是脚手架:grails.org/doc/latest/guide/scaffolding.html 文档描述了一小部分自定义设置。但是文档通常很少,并且有一些方法可以做没有记录的事情。我问的原因。
标签: grails