我有以下类层次结构:
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。但解决方案并非最佳,我正在寻找更好的方法。