2017-09-16 3 views
0

La mise en cache de Padrino fonctionne dans mon application, par ex.Mise en cache des pages avec des chaînes de requête dans padrino-cache

get :blog, cache: true do 
# do a blog listing 
end 

Mais quand les listes sont paginée avec will-paginate, il ne peut pas faire la différence entre /blog et /blog?page=2, et rend toujours la copie en cache de /blog. Existe-t-il un moyen de faire en sorte que cela fonctionne de sorte qu'il cache par URL et non par route?

Répondre

0

Certains spelunking in the Padrino issues fournit cette réponse, ce qui semble fonctionner:

get :blog, cache: Padrino.config.cache do 
    cache_key { request.path_info + '?' + params.slice('page').to_param } 
    #do blog listing 
end 

La structure de la documentation Padrino semble avoir changé depuis, de sorte que le PR à la fin de cette question ne semble plus être la documentation actuelle.