有关如何在Rails应用程序中的资源上实现排序和分页并仍保持RESTful的任何提示?
如何以干净的方式映射页码和排序字段的参数? (我目前正在为我的应用中的每个资源使用 map.resources:x )
我应该知道的任何其他性能问题? (例如缓存)
提前致谢。
编辑我将问题重新制定为更多generic one,希望我能得到更多答案。我打算投票结束这个,因为它不再相关。感谢insane-dreamer和vrish88的答案。
答案 0 :(得分:5)
你试过will_paginate吗?有什么理由不符合您的具体需求吗? (http://github.com/mislav/will_paginate/tree/master)
答案 1 :(得分:2)
我建议你看一下这篇文章:
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且易于使用!