Ruby on rails 让最终用户在Rails中指定排序顺序的最佳方法
我正在寻找一个关于让最终用户从Rails应用程序的视图文件中设置由模型的“find”方法返回的结果集的排序顺序的最佳方法的建议。换句话说,我希望用户能够从选择列表中选择排序顺序 起初,我以为我可以把字符串放在:order参数中,但从安全角度看,这似乎是个坏主意 我想我总是可以使用一个基于选择列表中的关闭值的开关,但这似乎有点笨重 谢谢你的关注 我会使用AR::Base#column_名称来清理输入。比如:Ruby on rails 让最终用户在Rails中指定排序顺序的最佳方法,ruby-on-rails,sorting,interface,Ruby On Rails,Sorting,Interface,我正在寻找一个关于让最终用户从Rails应用程序的视图文件中设置由模型的“find”方法返回的结果集的排序顺序的最佳方法的建议。换句话说,我希望用户能够从选择列表中选择排序顺序 起初,我以为我可以把字符串放在:order参数中,但从安全角度看,这似乎是个坏主意 我想我总是可以使用一个基于选择列表中的关闭值的开关,但这似乎有点笨重 谢谢你的关注 我会使用AR::Base#column_名称来清理输入。比如: @models = Model.find(:all, :order => param
@models = Model.find(:all, :order => params[:sort].select({|name| Model.column_names.include? (name) } ).join(',') )
您可以对其进行扩展,只需进行一些预处理,就可以改变您是要对每个键进行升序排序还是降序排序。希望这有帮助 这可能超出了您想要的范围,但最近,我一直依赖javascript为我处理后续排序。Tablekit()是原型的一个很好的表格分类工具,它不引人注目、快速且易于使用。它还包括一些细节,如就地编辑和列大小调整。rails可以从cakephp scaffold(cakephp中index()上的paginator sorter)复制的内容。这个答案有点稀疏。。。你能详细说明一下吗?