2

設定:

Aさんはモデル

  • 属性付き [name, email, actable_id, actable_type]

B と C は A のサブタイプです (MTI 関係として)

この gem を使用して MTI をシミュレートする

A.rb

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

すぐに戻る

class B < A
  acts_as :A
  ...
end 

C.rb

class C < A
  acts_as :A
  ...
end 

問題: タイプ B のクエリは、C を含む、親 A を持つすべてのテーブル エントリで返されます。

c = C.create(name, email)

b = B.create(name, email)

B.first # Expected b, actual is c

B.count # Expected 1, actual 2
4

1 に答える 1

1

README は、継承するように指示していません。A「サブクラス」がまだ直接継承していることを示しています。ActiveRecord::Base

于 2015-05-26T22:09:05.463 に答える