在Rails 3中,如果我想点击db,我会在查询结束时使用.all。这对于我在写入时刷新缓存(因此读取总是命中缓存)这一点非常有用。
现在在Rails 4中,Model.all返回一个ActiveRecord::Relation
对象(即没有命中db)。让它真正进入数据库并返回指定记录的最佳方法是什么?
答案 0 :(得分:8)
Model.all.to_a
将在Rails 3中提供与Modal.all
相同的结果。
修改:
@Bigxiang,在他的评论中指出尝试Model.all.load
,这种方法确实会命中数据库,但仍会返回ActiveRecordRelation。基本上,要从“Rails 3”获得与Model.all
类似的功能,您可以在返回的to_a
上调用ActiveRecordRelation
。