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?中的建议来使其工作,但尚未设法使任何组合起作用。
如何在域对象约束中访问config?另外,如何在域约束的单元测试中处理这种情况?
最佳答案
您可以使用grails.util.Holders
类来访问配置对象,如下所示:
在Config.groovy
中:
myMaxSize = 10
在您的网域类别中:
class User {
String name
static constraints = {
name minSize: Holders.config.myMaxSize
}
}