Domanda

Ho creato un'applicazione utilizzando il plug -in Ereherited_Resource ed è pronto per andare in produzione.

Ora sto cercando modi per implementare la memorizzazione nella cache per la stessa applicazione. Dato che ho alcuni frammenti della pagina che dipendono da Current_User, userò il meccanismo di memorizzazione nella cache del frammento.

Qualcuno può fornirmi un puntatore o una risorsa che aiuta a implementare la memorizzazione nella cache dei frammenti per le viste e i controller basati su ereditaria_resource?

Grazie, Ajay Kumar G

È stato utile?

Soluzione

Non uso Eredited_Resources, ma la mia comprensione è che è solo un collegamento per i controller. Le tue opinioni dovrebbero essere solo standard, nel qual caso è possibile utilizzare la memorizzazione nella cache dei frammenti come descritto nella Guida delle rotaie all'indirizzo http://guides.rubyonrails.org/caching_with_rails.html#fragment-caching

L'hai provato? Se questo non funziona, mostraci come sono le tue opinioni.


modificare: risposta al commento.

Ah okay, quindi in generale se stai usando la memorizzazione nella cache dei frammenti non ha senso non chiamare l'azione del controller, perché non avrai alcuna variabile impostata e se non ci sono variabili, allora perché non stai usando la memorizzazione nella cache delle pagine?

Al fine di impedire che le domande di licenziamento, ActiveCord 3.0 con Arel è tuo amico. Ad esempio, se metti @posts = post.where (: pubblicato => true) nella tua azione, non verrà chiamato fino a quando non si chiama @post.EAd nella vista, quindi se lo metti all'interno del blocco cache lo farà non essere mai chiamato. Non sono sicuro di ciò che fa ereditario_resources per impostazione predefinita, ma dato che è scritto da José Valim, immagino che userebbe quella funzione di ActiveRecord per impostazione predefinita, se non è facile da personalizzare. Puoi testarlo attivando la memorizzazione nella cache per il tuo ambiente di sviluppo e guardando i registri per vedere quali domande vengono licenziate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top