我已經設置了一個簡單的「設置」模型,因此我可以創建一些用戶可修改的全局變量,我可以在整個應用程序中使用這些全局變量。 該模型有var_name
和value
列。 var_name
是主鍵。將數據庫查詢保存到變量
我可以訪問這些使用Setting.find('my_variable_name')
,它工作,但每次都會導致數據庫查詢。
我希望能夠'緩存'設置一次,而不是每次查詢數據庫。
我不確定正確的方式去做這件事,我還是Rails新手。
我想象像settings = Setting.all
在我的應用程序控制器,把所有的設置在一個變量,然後創建一個方法來操縱單個變量出來的 - 使用類似settings.my_variable_name
叫它...
......但是我不知道如何:)
任何意見,將不勝感激。謝謝。
作品。看上去對我優雅。謝謝。雖然因爲我有'var_name'作爲主鍵,所以我需要將代碼的第3行從's.var_name'更改爲'sid' – 2013-03-10 00:51:46
實際上,當您更新數據庫中的某個變量時,fetch方法將返回較舊的值。我怎樣才能獲得新的價值? – 2013-03-10 02:01:45
您可以添加一個名爲'self.refresh'的新方法來執行'@fetch_all = Settings.all'。 – Sam 2013-03-10 02:06:19