/ / Problem z buforowaniem Railsów? - ruby-on-rails, ruby-on-rails-3, buforowanie

Problem z buforowaniem szyn? - ruby-on-rails, ruby-on-rails-3, buforowanie

Mam aplikację na blogach railsowych, która działała dobrze. Przeprowadziłem jednak pewne eksperymenty z pamięcią podręczną i pomimo cofnięcia do poprzedniej wersji, nadal coś jest nie tak.

Wygląda na to, że wszystkie strony znajdują się w pamięci podręcznej lub coś podobnego (wyczyściłem już pamięć podręczną przeglądarki), ponieważ dzienniki serwera nie pokazują żadnego dostania się do bazy danych.

Jakąkolwiek wskazówkę, jak rozwiązać ten problem? Dzięki!

Odpowiedzi:

6 dla odpowiedzi № 1

Problem polega prawdopodobnie na tym, że używasz buforowania stron w ten sposób:

class ProductsController
caches_page :index
def index
@products = Product.all
end
end

To faktycznie tworzy plik o nazwie produkty.html w katalogu / public, więc zamiast trafiać na stos Railsów, ten plik jest renderowany. Czyszczenie pamięci podręcznej przeglądarki nie rozwiązuje problemu, ponieważ plik jest przechowywany na serwerze. Istnieją dwa sposoby na wygaśnięcie tej pamięci podręcznej.

Pierwszym z nich jest utworzenie akcji czyszczenia pamięci podręcznej, a następnie wywołanie tej akcji, gdy chcesz wyczyścić pamięć podręczną:

class ProductsController
def clear
expire_page :action => :index
end
end

Drugim sposobem jest usunięcie pliku .html z linii poleceń (bash):

rm public/products.html

Buforowanie stron jest mylące z tego powodu. Trudno powiedzieć, kiedy strona jest rzeczywiście buforowana i gdzie jest przechowywana.

P.S: Jeśli nie korzystałeś z buforowania stron, możesz wyczyścić całą pamięć podręczną podręczną lub pamięć podręczną pamięci za pomocą tego polecenia:

Rails.cache.clear