Ich habe einige statische Seiten in meinem Projekt, die ich in der Lage sein möchte, Zeit zu ändern und nicht Server neu starten, um Änderungen anzuwenden. Was ist ein richtiger Weg dies zu tun, wenn config.action_controller.perform_caching
auf True gesetzt ist?Wie kann der Action Controller für einige Ansichten deaktiviert werden?
Antwort
finde ich mich standart IO-Bibliothek verwenden lesen HTML-Code aus der lokalen Datei und rendern durch render
Methode. Da es sich um statische Seiten handelt, muss ich keinen Rails Code ausführen. Es funktioniert für mich gut, weiß nicht über Leistung, aber sollte gut sein, ich denke =)
die Methode Durch die Verwendung von cache_store Sie erlaubt sein sollte, eine ActiveSupport::Cache::NullStore
So in Ihrem Controller setzen Sie so etwas wie verwenden:
class ProductsController < ApplicationController
config.cache_store = :null_store
end
Anmerkung: Ich habe diesen Code nicht getestet, aber es sollte Ihnen eine Anleitung geben.
EDIT Da Sie partials verwenden, vielleicht können Sie mit dem actionpack-page_caching entweder durch caches_page :new
Einstellung nur die neue Aktion in den Cache oder den Cache-Verzeichnis zu /dev/null
mit einzustellen:
class WeblogController < ApplicationController
self.page_cache_directory = '/dev/null'
end
Da es ein ist Statischer Inhalt Ich sehe auch keine Probleme beim Erstellen eines Caches auf diesen Seiten, aber Sie sind der Besitzer, den Sie am besten kennen sollten!
zwei Optionen:
den Schlüssel des Cache ändern es abläuft.
Anruf Rails.cache.clear, um alle den Cache zu löschen, ist es die schnellste Lösung, aber watchout, wird es alle Ihre Cache
Ist es sicher zu in der Produktion tun? – jealrockone
* Löschen der ** WHOLE ** Produktion Application Cache * '! =' * deaktivieren Caching für eine bestimmte Ansicht * :) –
Es ist sicher, einen Schlüssel ablaufen. Löschen Sie den gesamten Cache: Es hängt von der Zeit ab, um ihn zu generieren –
- 1. Kann der GCM-Dienst für einige Zeit deaktiviert werden?
- 2. Einige Ansichten können aktiviert/deaktiviert werden, andere nicht
- 3. Wie kann ein Controller für zwei verschiedene Ansichten wiederverwendet werden?
- 4. Wie kann der Panning-Modus für bestimmte View-Controller in der MFSideMenu-Klasse deaktiviert werden?
- 5. Wie kann der Abfragecache deaktiviert werden?
- 6. Wie kann der DependencyProperty-Rückruf deaktiviert werden?
- 7. Methode Action vor Controller Action
- 8. Wie kann der farbige Terminalausgang für sbt/play deaktiviert werden?
- 9. Wie können einige Variablen nur bestimmten Ansichten zugeordnet werden?
- 10. ARC für JSONkit kann nicht deaktiviert werden
- 11. Kann DNS-Reverse für NFS deaktiviert werden?
- 12. Freigabe für Controller und Ansichten
- 13. Wie können Controller/Szenen mit wechselnden Ansichten richtig gehandhabt werden?
- 14. Wie kann LogCat vollständig deaktiviert werden?
- 15. Kann Autocomplete deaktiviert werden?
- 16. Wie kann Action in ReactiveKit modelliert werden?
- 17. ASP.NET MVC Hinzufügen Controller deaktiviert
- 18. Kontrollkästchen kann nicht deaktiviert werden
- 19. Wie Breadcrumb für einige Controller yii2 deaktivieren?
- 20. Einzelner Controller mit mehreren Ansichten
- 21. Action nicht Controller-Aufruf
- 22. Wie kann die Anforderungsvalidierung für HttpHandlers deaktiviert werden?
- 23. Ion ios "Gummiband" kann nicht deaktiviert werden
- 24. Wie kann ein Combobox-Objekt deaktiviert werden?
- 25. Wie kann die Interaktion mit der Abbrechen-Schaltfläche deaktiviert werden?
- 26. Wie kann Autosave für Tramp-Puffer in Emacs deaktiviert werden?
- 27. Wie kann der direkte Zugriff auf JSP-Seiten deaktiviert werden?
- 28. Wie kann Tensorflow's Multithreading deaktiviert werden?
- 29. Wie kann ich einen Komponententest für eine Controller-Klasse schreiben, die Winforms für Ansichten verwendet?
- 30. Wie kann das Caching deaktiviert werden?
Danke für die Antwort, aber es hilft nicht = (Vielleicht weil ich Teiltöne verwenden? – jealrockone
@jealrockone bitte überprüfen Sie das Update! –