J'ai un site Web où une liste de produits est affichée dans la catégorie show
action. Je pagine avec succès avec la gemme will_paginate
, et de faire ce travail avec la mise en cache des pages en configurant mes routes like Sean Behan does.rails will_paginate et le tri avec mise en cache de la page
J'aimerais que les utilisateurs trient les produits. Actuellement, j'ai une trouvaille dans mon contrôleur comme ceci:
if params[:sort_by] == "name_desc"
#@products = Product.find_with_index("%#{params[:search]}%", :order => 'productname desc').paginate :per_page => 15, :page => params[:page]
@products = Product.find_with_index('params[:search]')
else
...
end
Et un lien simple à mon avis:
<%= link_to image_tag("down.gif"), category_path(:sort_by=>"name") %> name<%= link_to image_tag("up.gif"), category_path(:sort_by=>"name_desc") %>
Mon problème est que je passe ?sort_by=name
dans l'URL, qui ne fonctionne pas avec mise en cache des pages. Est-ce que quelqu'un a une idée comment puis-je faire un tri plus intelligent? J'aimerais vraiment continuer et mettre en cache les pages.