【发布时间】:2013-02-16 23:35:03
【问题描述】:
众所周知,作用域在调用时会开始加载。所以这个表达式
articles = Article.published
articles.newest
得到 2 个查询。是的,我们可以这样做
articles = Article.published.newest
但是如果我需要条件怎么办?如果 foo == bar 则继续链。
【问题讨论】:
-
我们可以看看你的文章模型吗?一般来说,在您尝试遍历结果或某些其他方法调用(如 count)之前,不应执行查询。
-
Artcile 是抽象的。查询应该是,但不是范围。
-
作用域是一样的。他们不会立即被执行。
标签: sql ruby-on-rails activerecord scope