【发布时间】: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