代码之家  ›  专栏  ›  技术社区  ›  arcdegree

创建不合格的可选一对一关系

  •  2
  • arcdegree  · 技术社区  · 12 年前

    我试图建立一种简单的一对一关系,但让它随意选择。当我试图保存“Face”对象时,我会得到“必须是唯一的”验证错误。当用户添加新的“脸”时,不需要“鼻子”。在这个过程的后期,如果用户确实添加了一个“Nose”,那么它需要是唯一的。

    class Face {
        Nose nose
        static constraints = {
            nose unique: true, nullable: true
        }
    }
    
    class Nose {
    }
    
    1 回复  |  直到 12 年前
        1
  •  1
  •   arcdegree    12 年前

    正如tim_yates提到的,它确实适用于Grails 2.1.1。我的应用程序出现配置问题。

    为了测试这一点,我用这个简单的测试编辑了FaceTests.groovy文件:

    package demo
    
    import grails.test.mixin.*
    import org.junit.*
    
    @TestFor(Face)
    class FaceTests {
    
        void testSaving() {
    
           def face = new Face()
            assertNotNull face.save(flush:true)
    
        }
    }
    

    结果:

    grails> test-app
    | Completed 2 unit tests, 0 failed in 451ms
    | Tests PASSED - view reports in /Users/devin/Desktop/grails_demo_app/target/test-reports