2013-04-24 19 views

回答

2

ActiveRecord延遲加載 - 當您實際訪問結果集中的數據時,它只會調用SQL查詢。

它不會加載活動數據,直到您執行類似.all.each或其他實際需要訪問數據的內容爲止。

1

不,kaminari不會一次加載所有記錄。您可以在導軌控制檯中對其進行測試:

current_user.activities.page(params[:page]).to_sql # => "SELECT \"activities\".* FROM \"activities\" WHERE \"activities\".\"user_id\" = 1 LIMIT 25 OFFSET 25" 

正如您所看到的,LIMIT和OFFSET都參與了SQL查詢。當然,這是急切的加載。

相關問題