これが私がやろうとしていることです:
class Account < ActiveRecord::Base
def name
end
end
class TypeA < Account
end
class TypeB < Account
end
TypeA と TypeB は 2 つの異なるテーブルに格納され、Account は抽象インターフェイスとして機能します (関連付けられたテーブルはありません)。どちらも多数のエントリと多数のフィールドを持っているため、それらを分離したままにします。これに行く方法はありますか?
(上記の例は、アカウントのテーブルが想定されているため機能しません)。
アップデート
ここで、(回答で提案されているように) モジュールを使用すると、別の問題が発生します。
私が持っているとしましょう
class Transaction < ActiveRecord::Base
belongs_to :account, :polymorphic => true
end
account はTypeA
またはTypeB
です。次の不正行為が発生します。
i = TypeA.new(:name => "Test")
t = Transaction.new(:account => i)
t.account.name
>> nil
account.name
「テスト」を返す必要があるため、これは私が望むものではありません。これを入手する方法は?