我有这3个模型
学生有这三个模型,如Gender,BloodType,Prefecture。 他们每个人都属于学生。
已在每个模型文件中设置关联。
在这种情况下,如果我想避免N + 1问题,我该如何编码?
是这样的吗?
@students = Student.find(:all).includes.includes(:gender, :blood_type, :prefecture)
答案 0 :(得分:3)
您只需要.includes
一次,并且您可以摆脱find(:all)
,因为Rails 3不需要它。
students = Student.includes(:gender, :blood_type, :prefecture)
话虽如此,看起来这些只是查找表格,如果您担心性能问题,我建议您查看我的gem ClassyEnum作为潜在替代品。