我有一个像这样的模型层次结构:
class Activity
end
class HelloActivity < Activity
has_one :hello_activity_details
end
class WorldActivity < Activity
has_one :world_activity_details
end
我想查询所有活动并急切加载细节以避免N + 1问题。但是,做:
Activity.all.include([:hello_activity_details, :world_activity_details])
产量
Association named 'hello_activity_details' not found on WorldActivity; perhaps you misspelled it?
如何加载详细信息?
我知道我可以手动调用预加载器,但是有更惯用的方式。
由于
答案 0 :(得分:0)
看起来像典型的拼写错误,因为错误说明了。
has_one
必须将类关联名称设为单数。
尝试:
class HelloActivity < Activity
has_one :hello_activity_detail
end
class WorldActivity < Activity
has_one :world_activity_detail
end