使用will_paginate使用分页对结果集进行排序

时间:2013-01-21 10:50:23

标签: ruby-on-rails pagination will-paginate

我正在使用will_paginate在Rails 3网站中进行分页。我希望能够为每个输出字段单击表标题(例如“name”,“created at”),并在该字段上排序结果。能够再次点击进行反向排序也是一件好事。有没有什么能与will_paginate一起订购?我可以使用will_paginate吗?

我正在使用的表格式非常通用:

<%= will_paginate %>
<table>
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Updated</th>
    </tr>   
    <% @shops.each do |shop| %>
    <tr>
        <td><%= shop.id %></td>
        <td><%= shop.name %></td>
        <td><%= shop.updated_at.strftime("%a %b %d %H:%M ") %></td>
    </tr>
    <% end %>
</table>
<%= will_paginate %>

3 个答案:

答案 0 :(得分:2)

您可以在此处找到您所期望的所有内容:http://railscasts.com/episodes/240-search-sort-paginate-with-ajax

答案 1 :(得分:0)

我正在使用

gem "meta_search"

with will_paginate

Github project site

Railscasct #251 MetaWhere & MetaSearch

索引控制器示例

@search =  Customer.search(params[:search])
@customer = @search.paginate(:page => params[:page], :per_page => 50)

并查看示例

<th><%= sort_link @search, :name%></th>
<th><%= sort_link @search, :surname %></th>
<th><%= sort_link @search, :address %></th>

答案 2 :(得分:-2)

<强>备选方案:

1)使用强大的jquery插件:

使用jquery插件,排序和分页变得简单。

有一个强大的jquery插件here

jQuery Tablesorter: Pagination and Sorting made simple的更多内容。

2)可排序表格列:

如果你想在没有jquery插件的情况下进行排序,那么你将得到你想要的一切here。 上述方法添加了通过单击标题以升序或降序对表列进行排序的功能。