设置:
A是型号
- 具有属性[名称、电子邮件、actable_id、actable_type]
B和C是A的子类型(作为MTI关系(
使用此gem模拟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
README没有告诉您从A
继承-它显示了仍直接从ActiveRecord::Base
继承的"子类">