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