这是我正在尝试做的事情:
class Account < ActiveRecord::Base
def name
end
end
class TypeA < Account
end
class TypeB < Account
end
其中 TypeA 和 TypeB 存储在两个不同的表中,而 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
应该返回“测试”。如何得到这个?