【问题标题】:Multi Table Inheritance Queries多表继承查询
【发布时间】:2015-05-26 22:00:25
【问题描述】:

设置:

A 是一个模型

  • 具有属性 [name、email、actable_id、actable_type]

B 和 C 是 A 的子类型(作为 MTI 关系)

Using this gem to simulate MTI

A.rb

class A < ActiveRecord::Base
  actable
  ...
end 

B.rb

class B < A
  acts_as :A
  ...
end 

C.rb

class C < A
  acts_as :A
  ...
end 

问题:对类型 B 的查询返回任何具有父 A 的表条目,包括 C。

c = C.create(name, email)

b = B.create(name, email)

B.first # Expected b, actual is c

B.count # Expected 1, actual 2

【问题讨论】:

    标签: ruby-on-rails multi-table-inheritance


    【解决方案1】:

    自述文件没有告诉您从 A 继承 - 它显示“子类”仍然直接从 ActiveRecord::Base 继承

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多