0
我想緩存一個操作,我希望它根據請求參數('type')的不同而不同。Rails 3中的緩存操作
我該怎麼做?我希望不僅緩存渲染,還要計算和DB請求(大部分操作本身)
一種可能的解決方案是將不同的結果保存到文件中,並且一旦創建後重定向到每種類型的代理動作並呈現它們,但它過於複雜的解決方案,也許Rails有一個更好的內置解決方案。
可能嗎?
謝謝
我想緩存一個操作,我希望它根據請求參數('type')的不同而不同。Rails 3中的緩存操作
我該怎麼做?我希望不僅緩存渲染,還要計算和DB請求(大部分操作本身)
一種可能的解決方案是將不同的結果保存到文件中,並且一旦創建後重定向到每種類型的代理動作並呈現它們,但它過於複雜的解決方案,也許Rails有一個更好的內置解決方案。
可能嗎?
謝謝
可以使用before filter
檢查參數類型,並採取必要的行動繼續進行。
before_filter :check_params, :only => :some_action
caches_action :some_action
def check_params
if params["type"] == 'something'
query_method1
else
query_method2
end
end
這是一個進展,但隨後的行動:some_action將獲得緩存使用任意查詢方法,而不是每種類型 – kambi 2013-04-10 07:12:56