2012-09-25 5 views
2

간단한 일대일 관계를 만들려고하지만 선택 사항으로 둡니다. "얼굴"개체를 저장하려고하면 "반드시 고유해야합니다"유효성 검사 오류가 발생합니다. 사용자가 새로운 "얼굴"을 추가하면 "코"는 필요하지 않습니다. 나중에이 과정에서 사용자가 "코"를 추가하면 고유해야합니다.임의의 일대일 관계 만들기

class Face { 
    Nose nose 
    static constraints = { 
     nose unique: true, nullable: true 
    } 
} 

class Nose { 
} 
+0

난 당신이 –

+0

에 대한 사용자 지정 유효성 검사기를 작성해야합니다 어떻게 생각 Grails 버전? 이것은 Grails 2.1.1에서 작동합니다. –

+0

Grails 2.1.1도 사용하고 있지만 여전히 오류가 발생합니다. 이 예제는 단순화되었으므로 다른 것이 원인 일 수 있습니다. – arcdegree

답변

1

언급 한 것처럼 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