2012-01-25 14 views
7

Sono su Heroku e sto cercando di implementare il caching nella mia app Rails, ma sto incontrando alcuni problemi che non capisco. Ho pensato che sarebbe stato facile dopo aver letto la guida di Rails e i documenti di Heroku sulle strategie di cache, ma a quanto pare facendo qualcosa di sbagliato.Azione cache Rails non scade

Problema 1: vista l'azione non sembra scadere Problema 2: quando uso: layout => false, sia il mio admin e layout App vengono utilizzati (cercando di ottenere solo il layout dell'applicazione)

Qualsiasi aiuto per questo principiante sarebbe più apprezzato!

production.rb (anche installato dalli da documentazione heroku)

config.cache_store = :dalli_store 
config.action_controller.perform_caching = true (added after reading http://bit.ly/oRKub1) 

controllore

layout 'admin' 
caches_action :show, :layout => false 

def show 
    render :layout => 'application' 
end 

def update 
    expire_action :action => :show 
end 

ho cercato di testare la scadenza modificando un prodotto, ma la vista spettacolo non scade. Quindi, quando guardo la vista di modifica per i prodotti, che non sto memorizzando nella cache, posso vedere la modifica salvata (ho appena aggiunto una parola al titolo), ma quando visualizzo mostra, ha ancora le vecchie informazioni.

+0

sto vivendo lo stesso problema. – nbsp

risposta

0

Se la vostra utilizzando lo stack pioppo/bambù Non credo che la memorizzazione nella cache opere in guide come le applicazioni sono fronteggiato da vernice che fa il caching per voi

+0

http://devcenter.heroku.com/articles/http-caching – Nath

0

Non so di "caches_action", ma si può provare a espira manualmente tutta la cache e vedi cosa succede.

def update 
    # expire_action :action => :show 
    Rails.cache.clear 
end 
0

Se c'è qualche problema di cache di this collegamento vi aiuterà a trovare una soluzione. È possibile connettersi direttamente al client dalli/memcached tramite la console heroku e quindi utilizzare flush_all per svuotare la cache.

o consultare questo google-groups link