2012-11-02 57 views
3

我讀rabl caching doc,我沒有得到我如何緩存代碼片段。 我有這樣一個觀點(還有更多的代碼,但我刪除它爲簡單起見):片段在拉鍊視圖中緩存?

object @video 

attributes :id, :user_id, :event_id 

child :event do 
    attributes :id 
    node(:name) { |event| event.name } 
end 

child :user do 
    attributes :id 
end 

我想緩存:事件的孩子兩個小時。我怎樣才能做到這一點?

我使用Rabl的(0.7.6),導軌(3.2.0),紅寶石(1.9.3p125)

回答

5

this線程,我謹:事件的孩子部分和緩存此部分。

show.rabl.json:

object @video 

attributes :id, :user_id, :event_id 

child :event do 
    extends "event" 
end 

child :user do 
    attributes :id 
end 

event.rabl.json:

object @event 
cache @event, :expires_in => 2.hour 

attributes :id 
node(:name) { |event| event.name } 

它爲我工作好。