Ruby on rails 使用ObjectSpace在验证链中查找父ActiveRecord是一个好主意吗?

Ruby on rails 使用ObjectSpace在验证链中查找父ActiveRecord是一个好主意吗?,ruby-on-rails,validation,activerecord,nested-forms,objectspace,Ruby On Rails,Validation,Activerecord,Nested Forms,Objectspace,考虑到以下模式: 类父

考虑到以下模式:

类父
目标是确保在没有父项(即父项)的情况下不能创建
子项
。现在,如果父亲尝试以嵌套形式创建
子项
,则在验证
子项
父亲
尚未收到ID,因此验证将失败。一种是使用
ObjectSpace
,如下所示:

类地址Proc.new{p|
if(新记录?&&!父项和父项类型)
父项=零
ObjectSpace.each_对象(父对象类型.constantize)do|o|
如果子项为o,则父项=o。包括?(p),除非父项
结束
结束
父母亲
}
结束
在验证链中使用
ObjectSpace
(例如
Father
)是一个好主意吗?在
ObjectSpace
中是否存在另一个
父亲
,该父亲碰巧是同时创建的,并且其子级的属性与所讨论的
子级
完全相同