В шаблонах скаффолдинга есть свойство domainClass типа org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass.Эти объекты имеют свойство constrainedProperties.Чтобы иметь избыток «только для чтения», вы должны сделать это:
Класс вашего домена:
class Contact {
static belongsTo = [subscription: Subscription]
static constraints = {
subscription(nullable: false, attributes: [readonly: true])
}
String description
}
в шаблоне скаффолдинга:
def ro = domainClass.constrainedProperties.subscription.attributes.readonly
в DefaultGrailsDomainClassконструктор с атрибутом типа Class, может быть, вы можете сделать это:
def domainClass = new DefaultGrailsDomainClass(Contact.class)
def ro = domainClass.constrainedProperties.subscription.attributes.readonly
Возможно, для этого есть Фабрика, но я не знаю.