如何在Grails中使用派生域类定义默认显示顺序?

时间:2010-02-17 14:57:24

标签: grails

在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,即使我试图强制它们在派生类约束中结束。

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我将约束从基类移开并在每个派生类中复制它们。这意味着代码重复,但它允许我在内置 Grails方式的每个(派生)类中指定显示顺序。