Sto seguendo la guida "Sviluppo Web agile con Rails 4" e sono giunto a una sezione sulla memorizzazione nella cache. Ecco i passi da seguire:Come capire se la memorizzazione nella cache funziona correttamente. Rails 4
in config/ambienti/development.rb
config.action_controller.perform_caching = true
in app/modelli/product.rb
def self.latest Product.order(:updated_at).last end
nelle viste/negozio /index.html.erb
<% cache ['store', Product.latest] do %> <% @products.each do |product| %> <% cache ['entry', product] do %> <div class="entry"> <%= image_tag(product.image_url) %> <h3><%= product.title %></h3> <%= sanitize(product.description) %> <div class="price_line"> <span class="price"><%= number_to_currency(product.price) %></span> </div> </div> <% end %> <% end %> <% end %>
Per verificare che il denaro funzioni, il libro dice: "Per quanto riguarda la verifica che ciò funzioni, sfortunatamente non c'è molto da vedere. Se vai a quella pagina, non dovresti vedere nulla cambiare, che in effetti è il punto! Il meglio che puoi fare è apportare una modifica al modello ovunque all'interno del blocco cache senza aggiornare alcun prodotto e verificare che non si veda quell'aggiornamento perché la versione cache della pagina non è stata aggiornata. "
Tuttavia, quando provo ad aggiungere una stringa "Hello" nel codice all'interno dei blocchi della cache, appare nella pagina Ho riavviato tutto il server e cosa no
Ma quando ricarico la pagina sul mio locale ospito vedo questa linea
Cache digest for app/views/store/index.html.erb: 6c620ede1d4e824439a7b0e3b177620f
che non è il loro quando ho config.action_controller.pe rform_caching = false
Link hub git repo: https://github.com/BrianLobdell/depot
Grazie, Brian
e allora? tutto sembra funzionare ... – joni
Il modo di testare nel libro diceva di aggiungere qualcosa nel blocco cache che non modificava un prodotto (come la stringa "ciao") e se la cache funzionava non si sarebbe mostrato la pagina. Tuttavia, nel mio caso, la stringa "Hello" è stata mostrata – megacanyon