我有一些很少更改的表。不幸的是,我需要在控制器中經常調用這些表格,這會增加某些頁面的加載時間。例如,在一個控制器我有:Rails:有沒有辦法在初始化時加載數據庫信息?
class PagesController < ApplicationController
def index
@groups = Group.all
@events = Event.all
end
end
然後,它發生,我認爲因爲羣體,很少活動的變化,我可以在初始化或爲常數,使他們實際上並不需要加載這些變量的模型在此刻查詢數據庫。我將上面的內容更改爲以下內容:
class Group < ApplicationRecord
ALL = Group.all
end
class Event < ApplicationRecord
ALL = Event.all
end
class PagesController
def index
@groups = Group::ALL
@events = Event::ALL
end
end
上述解決方案實際上在開發中起作用。然而,在Heroku上的生產中,它將變量加載到控制器中。我也嘗試設置一個初始化程序並定義了::Groups = Group.all
,但是這仍然會在控制器中調用時加載數據。有什麼方法可以在初始化時以加載Heroku的方式加載數據庫信息?