Ruby on rails 关联模型以“不同寻常的方式”管理类

Ruby on rails 关联模型以“不同寻常的方式”管理类,ruby-on-rails,ruby,ruby-on-rails-3,class,associations,Ruby On Rails,Ruby,Ruby On Rails 3,Class,Associations,我正在使用RubyonRails3,我有一个类列表和一些其他子类,它们以一种不同寻常的方式组成了这个列表。也就是说,我有一个具有以下属性的列表模型: # LIST ATTRIBUTES id : integer kind_of : string class_id : integer 价值观的种类可以是学校、房子。。。对于每一类人,我都有一个班级,学校,学校。。。班级id指的是学校、房屋等类别的儿童班级的主键。。。所以我可以为class_id设置多个相等的值,但是每个值都指向一个特

我正在使用RubyonRails3,我有一个类列表和一些其他子类,它们以一种不同寻常的方式组成了这个列表。也就是说,我有一个具有以下属性的列表模型:

# LIST ATTRIBUTES
id       : integer
kind_of  : string
class_id : integer
价值观的种类可以是学校、房子。。。对于每一类人,我都有一个班级,学校,学校。。。班级id指的是学校、房屋等类别的儿童班级的主键。。。所以我可以为class_id设置多个相等的值,但是每个值都指向一个特定的类ListSchool,ListHouse。。。取决于价值的种类

简单地说,我想提到一个独特的班级名单,以达到所有类型的儿童班级列表学校,ListHouse。。。基于父类的属性值,类列表的种类


我如何编写关联代码来关联这些模型可能使用:conditions=>kind\u of='school',:conditions=>kind\u of='house'。。。在协会声明中有一个吗?您对这种划分类的方法有什么建议?

听起来很像是在寻找单表继承STI。Rails支持这种开箱即用的方式;您只需在List类上定义一个类型列,然后从List继承ListSchool和ListHouse。不需要使用STI的类或类id列


通过web搜索“rails sti”可以找到一些不错的资源,包括。

我假设您正在使用rails 2?您能否演示这种数据布局的用途?您希望运行哪种类型的查询?例如,ListSchool和ListHouse的区别是什么?