Mam poważny problem z keszowaniem. Otóż robiłem jak wskazano w tym tutorialu http://guides.rubyonrails.org/caching_with_rails.html, ale to keszowanie zachowuje się fatalnie, nie tak jak powinno.
Otóż, mam kontroler:
class DzialStrony::GaleriaController < ApplicationController
layout “inny_layout”
def index
tutaj jakis kod
end
end
i dodalem w ciele klasy:
caches_page :index
i teraz tak, zakeszowało mi, owszem… ale nie z layoutem, który mam ustawiony, ale z tym domyślnym. Mało tego, po usunięciu kodu od keszowania nadal strona jest zakeszowana.
Próbowałem ustawić opcję :layout, nic nie dało… Próbowałem keszować poprzez caches_action :index, też nic…
Mało tego, kiedy ustawię:
config.action_controller.perform_caching = false
to jest ok, keszowanie wyłączone, ale po włączeniu keszowania:
config.action_controller.perform_caching = true
wszystkie podstrony teraz co używają innego layoutu są zakeszowane z domyślnym layoutem, pomimo, że tam nie ustawiałem by keszowało te kontrolery (sic!).
Mam ustawine również:
config.cache_store = :file_store, ‘sciezka_do_katalogu_aplikacji/tmp/cache’
config.action_controller.page_cache_directory ‘sciezka_do_katalogu_aplikacj/tmp/cache’
ale w tej lokalizacji nie ma keszy. Sciezka jest poprawna, bo polecenie Rails.cache.write tworzy kesze…
- Jak usunąć wszystkie kesze?
- Jak skeszować tylko jedną akcję wraz z uwzględnieniem używanego layoutu?
Proszę o pomoc!