-3

有人可以告诉我这种行为究竟会产生什么:

 users = User.includes(:profile => [:city, :state])

特别是 :city 和 :state 的含义,如果没有这些额外的参数,它有什么不同。

4

2 回答 2

0

this pre-caches 'city' and 'state' fields from linked table 'profiles' so there will be no extra queries when you call e.g 'user.profile.city'

于 2013-08-04T13:19:05.727 回答
0

例如,您希望您的每个用户的城市和州都显示在视图中,那么如果没有该includes方法,将为每个用户触发两个数据库查询以获取他的数据statecity这会在您的应用程序中引入n+1查询问题。要解决此问题,您可以预先加载statecity使用includes方法。

于 2013-08-04T14:40:59.787 回答