Ruby on rails Rails:单记录,多多态
我相信这有一个更好的标题,所以很抱歉 我有一个Ruby on rails Rails:单记录,多多态,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我相信这有一个更好的标题,所以很抱歉 我有一个验证模型。理想情况下,会有各种其他模型类型能够将自己和单个验证记录相关联。比如说 验证(id:1,可验证类型:'Reference') 参考(id:1,验证id:1) 参考(id:2,验证id:1) 验证(id:2,可验证类型:'Degree') 学位(id:1,验证id:2) 学位(id:2,验证id:2) 我希望能有一个简单的动态:class\u name选项,它位于的has\u many: 类验证{dynamic_class_nam
验证
模型。理想情况下,会有各种其他模型类型能够将自己和单个验证记录相关联。比如说
验证(id:1,可验证类型:'Reference')
参考(id:1,验证id:1)
参考(id:2,验证id:1)
验证(id:2,可验证类型:'Degree')
学位(id:1,验证id:2)
学位(id:2,验证id:2)
我希望能有一个简单的动态:class\u name
选项,它位于的has\u many
:
类验证{dynamic_class_name}
结束
我99%确信,反向关联实际上是开箱即用的。因此,使用上面的记录,以下内容应该没有问题:
类引用
有什么建议吗?而不是
has_many :verifiables, class_name: -> { dynamic_class_name }
换成
def self.varifiables(type)
where(verifiable_type: type)
end
您可以添加更多关于域逻辑的详细信息吗?为什么单个验证
实例需要引用多个可验证项?您可能最终需要一个与验证和可验证的一对一关联的中间模型-我不认为ActiveRecord提供这种功能。验证对象充当对象的占位符。它可以是1
,也可以是4
。应用程序有许多不同的东西可以验证,所有验证都将通过/verify/:type/:access\u code
处理。