在Grails 1.2.1中,我使用了基本域类和派生域类,并在所有这些类中定义了约束。脚手架模板(我使用i18n模板)根据这些约束确定默认的字段显示顺序。我的问题:无论我做什么,基类中的字段总是显示之前派生类中的字段。
所以这是这类课程的一个例子:
abstract class BaseEntity {
String name
String description
String link
static constraints = {
name(blank: false)
description(blank: true, maxSize: 131072)
link(url: true, blank: true)
}
}
class BacklogItem extends BaseEntity {
String type
String priority
static constraints = {
name(unique: true)
type(inList:["Bug", "Enhancement", "New Feature", "Task"])
priority(inList:["Low", "Medium", "High"])
description()
link()
}
}
现在我希望这些字段按照 Item 约束( description 和 link )中定义的顺序显示)。但无论我做什么,名称,描述和链接始终是创建/显示/编辑中的前三个字段,因为基础class,即使我试图强制它们在派生类约束中结束。
你会如何解决这个问题?
答案 0 :(得分:0)
我将约束从基类移开并在每个派生类中复制它们。这意味着代码重复,但它允许我在内置 Grails方式的每个(派生)类中指定显示顺序。