2011-05-10 52 views
1

我還不明白Rails的緩存系統,但我已經閱讀過一個名爲片段緩存的功能的指南部分。Rails的片段緩存是否適合這個問題?

我的問題是:我的觀點主要是靜態元素。它幾乎是完全靜態的,唯一的變化是狀態消息和表單中的隱藏輸入字段,這兩個字段都是在服務視圖的操作的每個請求中生成的。

片段緩存適合這個問題嗎?我應該使用什麼樣的緩存策略?

回答

1

片段緩存足以解決您的問題。這是足夠的,因爲它使您能夠緩存視圖的一部分(片段),而不是整個視圖。從該文檔:

片段緩存被用來緩存內模板 各種塊,而不緩存整個動作作爲一個整體 。當動作的某些 元素頻繁更改 或取決於複雜的 狀態,而其他部分很少更改 或可以在多個 雙方之間共享時,此功能非常有用。高速緩存是使用動作 視圖中提供的 高速緩存助手完成的。存的一個模板可能 看起來像:

<!-- this is the dynamic part--> 
<b>Hello <%= @name %></b> 

<% cache do %> 
    <%= render :partial => "static_part" %> 
<% end %> 

所以,你可以把cache塊,並在它之外的動態部分之間的靜態部分。 以下是相關文檔的鏈接:rails fragment caching