如何防止多次迭代和访问的条件多次访问数据库?
在 Rails 控制器中使用以下方法的示例:
def current_somethings
Something.limited
end
helper_method :current_somethings
其中Something
模型包含 Mongoid::Document 且有限范围仅包含部分字段。
current_somethings
每次我在控制器或视图中访问时,Mongoid 都会访问数据库。
MONGODB (37ms) staging['somethings'].sort([[:name, :asc]])
MONGODB (31ms) staging['somethings'].sort([[:name, :asc]])
MONGODB (137ms) staging['somethings'].sort([[:name, :asc]])
MONGODB (38ms) staging['somethings'].sort([[:name, :asc]])
我已经尝试过.cache 方法,但它似乎对我没有任何作用。
如何防止同一查询多次运行?同时,理想情况下,保留在需要时根据标准调用其他方法的能力。
Mongoid 2.6.0。