我正在学习 grails,但遇到了问题。
我有两个类,可以说:
class Book {
String name
String description
static belongsTo = Category
Category category
static constraints = {
name(nullable:false, blank:false)
description(nullable:true, maxSize:5000)
}
class Category {
String name
static hasMany = [books:Book]
Set books
static constraints = {
name(nullable:false, blank:false)
}
String toString(){
this.name
}
}
当我创建一本书时,我想看到一个包含所有类别名称的下拉列表。 如果我不选择类别,我就无法创建该书。 如果数据库中没有类别,我就无法创建一本书, 直到我创建并选择一个类别。
如果我有正确的约束和字段,是否可以从域类生成此功能(使用 grailsgenerate-all)?如果是,怎么办?
最佳答案
我可以离开这里,但我认为您的belongsTo 语句的格式不正确。在我见过的示例和我使用过的类中,它是:
static belongsTo = [category:Category]
那么我相信您还需要将类别设置为 nullable:false
static constraints = {
name(nullable:false, blank:false)
description(nullable:true, maxSize:5000)
category(nullable:false)
}
这至少应该在 View 上生成下拉菜单,并且不允许创建没有类别的书籍。
关于Grails - 如何使用模型约束创建一个下拉列表来表示belongsTo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1923926/