我已经用以下模式做了一个健身应用程序:
用户
例程
升降机
习题
信息
例程属于用户
例行公事有许多托举(这是锻炼和例行公事之间的衔接)
电梯属于运动。
信息(集合)属于电梯
我正在深入研究ActiveRecord查询,并专门包括处理我正在处理的n+1问题。当我展示整个例行公事时:
例程名称
用户名称
每部升降机的练习名称
每台电梯的装置
如果我想进行更少的查询,可以简单地加载所有内容,如下所示:
A= Routine.includes(:user,:升降机,:习题,:info)并循环所有这些以找到我想要的?
或者我必须把它分解更多地说:
A= Routine.includes(:user,:升降机)
B=Lift.includes(:锻炼,:信息)
为了缩小我的查询量。
如果这个问题不够清楚,请告诉我。
发布于 2013-11-20 14:31:07
下面这样的东西应该能起作用。Routine.includes(:user, {:lifts => [:exercise, :infos]})
https://stackoverflow.com/questions/20108371
复制