【问题标题】:Multi-table inheritance in railsrails中的多表继承
【发布时间】:2020-12-07 10:20:45
【问题描述】:

Django 具有开箱即用的多表继承 (https://docs.djangoproject.com/en/3.1/topics/db/models/#multi-table-inheritance)。在 ruby​​ on rails 中是否有等效的解决方案?

我能找到的最接近的是多态关联或单表继承 (STI) 或抽象基类,但它们都不是我所需要的。

【问题讨论】:

    标签: ruby-on-rails ruby database


    【解决方案1】:

    最接近 Rails 的内置解决方案是 DelegatedTypes

    使用这种方法,“超类”是一个由其自己的表表示的具体类,其中存储了在所有“子类”之间共享的所有超类属性。然后每个子类都有自己的单独表,用于附加特定于其实现的属性。

    这类似于 Django 中所谓的多表继承,但这种方法不是实际继承,而是使用委托来形成层次结构并分担责任。

    它是最近在 Rails 中添加的 6.1 - 所以你的谷歌搜索结果可能早于它。

    【讨论】:

      猜你喜欢
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多