1
我是新来的Ruby on Rails和我有两个表项目和任务时减少SQL查询的数量在Ruby on Rails的3。如何获取相关记录
在我的任务索引视图中,我有一个长的HTML表,其中一列属于项目。
现在我注意到Rails使用单独的SQL查询来获取每个项目的名称。
有什么办法可以简化它吗?我想我以前听说过一些技术,但不太清楚它是什么。
感谢您的帮助!
我是新来的Ruby on Rails和我有两个表项目和任务时减少SQL查询的数量在Ruby on Rails的3。如何获取相关记录
在我的任务索引视图中,我有一个长的HTML表,其中一列属于项目。
现在我注意到Rails使用单独的SQL查询来获取每个项目的名称。
有什么办法可以简化它吗?我想我以前听说过一些技术,但不太清楚它是什么。
感谢您的帮助!
在您的初始任务查询中使用includes
方法。
例子:
def index
@tasks = Task.includes(:project).all
...
end
这正是* *什么,我一直在寻找。像一个魅力工程,感谢一堆! – Tintin81 2012-02-24 16:40:34
我觉得我应该提一下,在include()的返回时调用.all并不是必需的,实际上可以被认为是反模式,因为它会在数据迭代时急切加载数据而不是延迟加载。 – fullsailor 2013-02-13 18:56:09