0
我们有STI在Ruby中多态/ STI问题在Ruby中
我们的数据库有两个表多态性&一个问题:“账户”和“名单”。 'list'有'account_id','type','description'列。
我们的类看起来像这样:
class Account < ActiveRecord::Base
has_many :lists
has_many :subscription_lists
has_many :email_lists
end
class List < ActiveRecord::Base
belongs_to :account
end
class SubscriptionList < List
end
class EmailList < List
end
内部帐户,方法email_lists
和subscription_lists
工作完全按预期。我们的目标是我们希望能够拨打lists
这将返回一列所有名单。目前,这是行不通的,self.lists
奇怪的是,Account.find(self.id).lists
能给我们一个关联的所有列表的数组。
什么给?我们如何解决这个问题?
所以你想'List.all' ??或者你想'Account.all.map(&:lists)'?除非你是自定义实现的东西,否则我在这里看不到任何多态。 – engineersmnky
你确定它不只是一个缓存问题?那么'self.lists(真)'呢? – tadman
这段代码中绝对没有多态关联。 –