1

我正在使用 will_paginate gem 以分页方式显示集合。现在我想对视图中列表的列进行排序。我添加了我自己的自定义机制来建立它,但它让我想知道是否没有标准的方法来实现这一点,利用 will_paginate 的简单性和优雅性。

4

4 回答 4

2

是的,有一种优雅的方式来做到这一点。使用 ujs_sort_helper。您可以在此处找到更多详细信息

于 2010-01-21T16:46:07.270 回答
1

Java the Hutt 的 sortable_table
破产了。这是一个很棒的 Rails 插件。真的很容易设置。

于 2010-01-21T16:47:38.390 回答
1

searchlogic很好地插入了 will_paginate。

听起来您不是在搜索,但显示所有内容只是搜索的一个特例。如果您不想过滤数据,您可以只使用排序功能而忽略其余功能。

于 2010-01-21T16:45:20.467 回答
1

在我之前实现了排序和分页的项目中,我will_paginate在使用overwrite_params来处理排序时让处理分页。

例如(假设一个表)

<tr>
  <th><%= link_to "ID", overwrite_params(:sort => "id", :page => 1) %></th>
  <th><%= link_to "Name", overwrite_params(:sort => "name", :page => 1) %></th>
</tr>
<tr>
  ... information ...
</tr>

overwrite_params完全按照您的想法执行...它将返回当前 url,其中任何现有参数都被指定的值覆盖,或者任何以前不存在的值插入到 url 中。

由于will_paginate已经保留了任何 url 参数,因此overwrite_params在列标题中使用以及将页面重置为 1(这是可选的),意味着您可以继续使用will_paginate无需修改它来处理排序的好处。

于 2010-01-21T16:46:55.800 回答