【问题标题】:Using grails configuration values in domain object constraints在域对象约束中使用 grails 配置值
【发布时间】:2013-03-03 06:13:04
【问题描述】:

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? 中的建议使其工作,但没有设法使任何组合工作。

如何访问域对象约束中的配置?另外,如何在域约束的单元测试中处理这种情况?

【问题讨论】:

  • 你试过this.grailsApplication... 吗?
  • Holders.getGrailsApplication().config.maxlength
  • @SérgioMichels 甚至更短:Holders.config.maxlength
  • @codelark 您应该将该评论作为答案,以便它可以被接受。
  • 如果 Config.groovy 有“grails.myvar = 10”,那么在域约束中使用“name minSize: Holders.config.grails.myvar”就可以了。集成和单元测试。 @codelark 回答接受

标签: unit-testing grails config domain-object


【解决方案1】:

您可以使用grails.util.Holders 类来访问配置对象,如下所示:

Config.groovy:

myMaxSize = 10

在您的域类中:

class User {
    String name

    static constraints = {
        name minSize: Holders.config.myMaxSize
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    相关资源
    最近更新 更多