В 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 в конце). Но независимо от того, что я делаю, name , description и link всегда являются первыми тремя полями в create / show / edit из-за базового класса, когда я пытаюсь заставить их до конца в производных классовых ограничений.
Как бы вы решили это?