我正在尝试创建简单的一对一关系,但将其保留为可选。当我尝试保存“Face”对象时,出现“必须唯一”的验证错误。当用户添加新的“面部”时,不需要“ Nose ”。在此过程的后期,如果用户确实添加了“ Nose ”,则它必须是唯一的。
class Face {
Nose nose
static constraints = {
nose unique: true, nullable: true
}
}
class Nose {
}
最佳答案
就像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
关于grails - 创建唯一的可选一对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12584780/