Rails RESTful应用程序中的分页和排序

有关如何在Rails应用程序中的资源上实现排序和分页并仍保持RESTful的任何提示?

如何以干净的方式映射页码和排序字段的参数? (我目前正在为我的应用中的每个资源使用map.resources:x

我应该知道的任何其他性能问题? (例如缓存)

提前致谢。

编辑我将问题重新制定为更通用的问题,希望我能得到更多答案。 我打算投票关闭这个,因为它不再相关。 感谢insane-dreamer和vrish88的答案。

你试过will_paginate吗? 有什么理由不符合您的具体需求吗? ( http://github.com/mislav/will_paginate/tree/master

我建议你看一下这篇文章:

http://dev.nozav.org/rails_ajax_table.html

http://dev.nozav.org/ajaxtable/ (这是演示应用程序)

我在我的一个应用程序中使用了相同的基本代码。 我没有使用他们描述的AJAX实现,但我使用了他们提到的排序助手,然后我构建了我的视图以启用排序。 在排序助手中,你只想取出与ajax相关的东西。 我最终看起来像这样:

def sort_link_helper(text, param) key = param key += "_reverse" if params[:sort] == param parameters = params.merge({:sort => key, :page => params[:page], :action => controller.action_name }) link_to(text, url_for(parameters)) end def sort_td_class_helper(param) result = 'class="sortup"' if params[:sort] == param result = 'class="sortdown"' if params[:sort] == param + "_reverse" return result end 

关于这个实现的最好的部分是RESTful,DRY和易于使用!