使用Grails域对象,我偶然发现了尝试设置某些属性的问题。
var stepchild=parent.children.find{ it.id==xInt };
stepchild.metaClass.birthMom=biologicalMothersName;
parent.children.each{child->
//when it gets to stepchild no metaclass property birthMom exists....
}
也不会在引用的对象
上设置自定义错误var stepchild=parent.children.find{ it.id==xInt };
stepchild.errors.rejectValue('parent',"Not biological parent");
parent.children.each{child->
//when it gets to stepchild no errors....
}
我猜测{}没有返回父对子子对象的真实引用?
答案 0 :(得分:0)
对于尝试在stepChild对象上设置属性/属性的方式,您应该使用MetaClass.setAttribute()
方法:
stepchild.metaClass.setAttribute(stepChild,'birthMom', biologicalMothersName)