【问题标题】:Find Methods in derived classes with ActiveRecord - Single Table Inheritance使用 ActiveRecord 在派生类中查找方法 - 单表继承
【发布时间】:2009-02-26 21:50:24
【问题描述】:

我有一个派生自 ActiveRecord::Base 的类。 此类有一个子类,在数据库中通过类型 id 列进行区分。 如何确保派生类中所有继承的活动记录函数都将 type_id 列附加到派生类执行的任何查询的条件散列中?是否有任何类型的“之前”函数可以重写以将条件注入派生类的进程?

谢谢!

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

    如果您的列被称为“类型”,ActiveRecord 会自动为您执行此操作。

    【讨论】:

    • 谢谢 - 当我更改为名为 type 的列时,这非常有用。 ActiveRecord 将模型的名称放入每个对象的类型列中。
    • 如果您不想更改列名,那么您也可以使用 set_inheritance_column 声明
    【解决方案2】:

    您所做的称为单表继承 (STI)。这就是 Radar 关于您的专栏被称为 type 的说法的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 2015-01-20
      • 2014-07-09
      • 1970-01-01
      • 2021-05-14
      • 2016-07-03
      • 2021-12-20
      • 2014-12-23
      相关资源
      最近更新 更多