-3

使用默认的 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 约束,您还可以让生成器生成列表而不是文本输入:

def constraints = { title() category(inList: ["Fiction", "Non-fiction", "Biography"]) releaseDate() }

所以,逻辑告诉我我想要这样的东西:

级别(inList:["0","1","2","3","4","5"])

但是把它放在哪里并让它发挥作用呢?

4

1 回答 1

0

所以答案是我忽略了域约束的最小和最大选项:这是在 GSP 上获得它的方法......

请参阅下面的行级别 nullable: true, min: 1, max: 5 ...

class CustomerDivisionLevel {

Integer level
String levelName
Customer customer

static belongsTo = [Customer]

static mapping = {
    id generator: "assigned"
}

static constraints = {
    level nullable: true, min: 1, max: 5
    levelName nullable: true, maxSize: 45
}

}

于 2013-11-08T23:13:51.923 回答