最终用户的最佳方式是在Rails中指定排序顺序

jkl*_*ina 6 sorting ruby-on-rails interface

我正在寻找关于从Rails应用程序的最终用户的最佳方式的建议的视图文件设置模型的"查找"方法返回的结果集的排序顺序.换句话说,我希望用户能够从选择列表中选择他们的排序顺序.

最初,我想我可以把我放在:order参数中的字符串放入,但从安全的角度来看,这似乎是一个坏主意.

我想我总是可以使用基于选择列表中的值的开关,但这看起来有点笨重.

谢谢你的期待.

小智 4

我会使用 AR::Base#column_names 来清理输入。就像是:

@models = Model.find(:all, :order => params[:sort].select({|name| Model.column_names.include? (name) } ).join(',') )
Run Code Online (Sandbox Code Playgroud)

您可以通过一些预处理来扩展它,以改变您是否想要对每个键进行升序或降序排序。希望这可以帮助!