5

在 Rails 3 中,如果我想访问数据库,我会在查询结束时使用 .all。这对于我在执行诸如刷新写入缓存之类的操作时很有用(因此读取总是命中缓存)。

现在在 Rails 4 中,Model.all 返回一个ActiveRecord::Relation对象(即不命中数据库)。让它实际进入数据库并返回指定记录的最佳方法是什么?

4

1 回答 1

8

Model.all.to_a在 Rails 4 中将给出与 Rails 3 中相同的结果Modal.all

修正:

@Bigxiang,在他的评论中指出尝试Model.all.load,这种方法肯定会命中数据库,但仍然返回 ActiveRecordRelation。基本上要获得与Model.all“Rails 3”类似的功能,您可以调用to_a返回的ActiveRecordRelation.

于 2013-08-27T04:03:39.243 回答