Grails 2.2.0
如何在Grails域对象约束中访问自定义配置变量。
我想有这样的事情:
class User {
def grailsApplication
String name
static constraints = {
name size: grailsApplication.config.maxlength
}
}
但它失败了“没有这样的属性:grailsApplication”。我试图通过遵循getting grails 2.0.0M1 config info in domain object, and static scope?中的建议来实现它,但却没有设法让任何组合起作用。
如何在域对象约束中访问配置?另外,如何在域约束的单元测试中处理这种情况?
答案 0 :(得分:4)
您可以使用grails.util.Holders
类来访问配置对象,如下所示:
在Config.groovy
:
myMaxSize = 10
在您的域类中:
class User {
String name
static constraints = {
name minSize: Holders.config.myMaxSize
}
}