【发布时间】:2014-09-18 18:38:13
【问题描述】:
我想为我的 rails 应用程序实现多表继承方面的一些东西。我熟悉 STI 的工作原理,并且想知道实现是否类似。
我的情况如下(表名已更改):
我有一张 Employee 表,Employee 有很多看门人和程序员。看门人和程序员有许多不同类型的工作用具,所以保管桌适合看门人,而技术桌适合程序员。好吧,这些工作可能是无穷无尽的,并且工作(看门人、程序员等)的属性不同,因此它们必须是单独的表。我想合并一个名为 Jobs 的表,该表属于 Employee。这个表 Jobs 将有一个 job_type(这里它可以是管理员或程序员)和一个 utensil_type(保管、技术)。我怎样才能正确地实现这个场景试图实现的目标?
我知道类型对于 STI 的重要性,所以我想知道如何为我的 rails 问题实现这个 MTI?
【问题讨论】:
-
我想知道你决定为你的 MTI/STI 问题 Surep 做些什么。从我读过的大多数文章和关于 SO 的回复来看,如果每个子表上只有少数额外的列(即产品具有名称:字符串,描述:文本),STI 似乎是可行的方法, price:integer, make:string, model:string, Pen 有 color:string, no:integer, Notebook 有 pages:integer, lined:boolean)。如果子模型之间只有几个共享列,并且它们每个都有几个到多个独特的列,那么 MTI 就是要走的路。很想听听你的想法
标签: sql ruby-on-rails ruby-on-rails-3 single-table-inheritance multi-table-inheritance