1

我有一个网站,其中产品列表显示在类别show操作中。我成功地使用 gem 进行了分页,并通过像 Sean Behan 那样will_paginate配置我的路由来使用页面缓存。

我希望用户对产品进行分类。目前我在我的控制器中有这样的发现:

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

在我看来,一个简单的链接:

<%= link_to image_tag("down.gif"), category_path(:sort_by=>"name") %> name<%= link_to image_tag("up.gif"), category_path(:sort_by=>"name_desc") %> 

我的问题是我传入?sort_by=name了 URL,它不适用于页面缓存。有谁知道如何进行更智能的排序?我真的很想继续缓存页面。

4

1 回答 1

2

好的,我找到了一种通过我的设置获得最佳缓存的方法:

我仍然使用这个解决方案来进行分页(因为我得到了更漂亮的 URL)。但我不得不切换到动作缓存以允许在 URL 中传递排序参数。如果您有兴趣,请查看此说明:http: //cobaltedge.com/rails-action-caching-with-query-parameters

干杯,

瓦尔

于 2010-02-24T14:12:42.747 回答