Rails急于在STI子类上加载关联

时间:2017-01-30 15:56:13

标签: ruby-on-rails eager-loading

我有以下类层次结构:

class Parent < ActiveRecord::Base end

class ChildA < Parent
    has_many components
end

class ChildB < Parent
end

class Component < ActiveRecord::Base end

我想加载父和子应用急切加载的所有实例。如果存在与Child关联的其他实例,则应使用预先加载来加载它们。

使用 Parent.includes(:components)给我:

ActiveRecord::ConfigurationError: Association named 'components' 
was not found on ChildB; perhaps you misspelled it?

请注意,7年前提出了几乎相同的问题并回答here。但解决方案并非最佳,我正在寻找更好的方法。

0 个答案:

没有答案