Sto tentando di utilizzare la cache dei frammenti per memorizzare nella cache il footer e la barra di navigazione in un sito Ruby on Rails che utilizza I18n. Il problema è che, cambiando la lingua, viene mostrato il piè di pagina e la barra di navigazione nella lingua sbagliata. Come si va in scadenza della cache dei frammenti quando le impostazioni locali cambiano?Come scadere della cache dei frammenti quando le impostazioni internazionali cambiano?
6
A
risposta
13
Invece di scadenza della cache frammento, si dovrebbe fare la parte locale della chiave di cache, vale a dire qualcosa come
cache :locale => I18n.locale, ... do
...
end
In questo modo diversi utenti possono vedere diverse versioni linguistiche del piè di pagina/barra di navigazione, ma ogni volontà vedi le versioni cache.
5
Quando la memorizzazione nella cache un frammento in Rails 3, questo ha fatto il trucco per me:
- cache([object, locale: I18n.locale]) do
Problemi correlati
- 1. Come scadere delle cache dei frammenti di Rails?
- 2. Come ricevere notifiche quando le impostazioni internazionali del sistema cambiano in Android?
- 3. Come ottenere le impostazioni internazionali utilizzando Php
- 4. come determinare quando le impostazioni cambiano su ios
- 5. Rails espira la cache dei frammenti dai modelli
- 6. Come ottenere le impostazioni internazionali correnti in C#?
- 7. come ottenere le impostazioni internazionali correnti in symfony 2.3?
- 8. Area protetta con impostazioni internazionali
- 9. Come modificare le impostazioni internazionali predefinite in GWT
- 10. È OK utilizzare ThreadLocal per memorizzare le impostazioni internazionali richieste?
- 11. Come ottenere le impostazioni internazionali dei visitatori in JSP utilizzando SessionLocaleResolver di Spring 3
- 12. Come ottenere il formato della data per le impostazioni internazionali correnti
- 13. Tapestry: la pagina iniziale utilizza le impostazioni internazionali inglese anziché le impostazioni locali predefinite
- 14. Impostare le impostazioni internazionali sul sistema predefinito UTF-8
- 15. scadere manualmente cache di basso livello
- 16. Ottieni le impostazioni internazionali globali attualmente impostate in C++?
- 17. Come posso modificare le impostazioni internazionali della mia app a livello di codice tramite Swift?
- 18. Come ottenere le impostazioni internazionali della lingua dell'utente in Objective-C?
- 19. Come si ottiene il primo giorno della settimana per le impostazioni internazionali correnti? (PHP/L8N)
- 20. Test applicazione Java in diverse impostazioni internazionali
- 21. Android Ottieni paese Emoji Flag utilizzando le impostazioni internazionali
- 22. Modifica delle impostazioni internazionali con symfony 2.1
- 23. Formato data Java per impostazioni internazionali
- 24. Le etichette dei nodi JTree cambiano spesso ma la larghezza è memorizzata nella cache
- 25. Redis - Come scadere della chiave ogni giorno
- 26. Come ripristinare le animazioni dei frammenti su BackStack?
- 27. connettersi al database postgresql con impostazioni internazionali diverse
- 28. Come nascondere la tastiera virtuale quando si cambiano le schede?
- 29. Come ottenere il pattern della data da Fuso orario delle impostazioni internazionali in Java
- 30. Come mantenere i dati dei frammenti dopo le transazioni backstack?
sapevo che mi manca qualcosa che si trova proprio davanti ai miei occhi e sto fissando! :) Grazie! – octimizer
Fresco. Ps se una risposta ti aiuta devi contrassegnare la risposta come accettata per aiutare le persone a cercare la stessa cosa –
Quello che ho finito di scrivere è: <% cache "# {I18n.locale} _footer" do%> footer_html_here <% end %> – octimizer