【问题标题】:Rails Multi inheritance on database levelRails 数据库级别的多继承
【发布时间】: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


【解决方案1】:

也许 ActiveRecord::ActsAs gem 会满足您的需求https://github.com/hzamani/active_record-acts_as

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多