在Rails里,我们可以用sort_by方法对一个Ruby对象数组按照某个属性进行排序,如:
ruby 代码
- User.find(:all).sort_by {|u| u.name.downcase}
这等效于
ruby 代码
- @users = User.find(:all)
- @users.sort! { |a,b| a.name.downcase < => b.name.downcase }
sort!后面的!使得排序结果直接存入数组@users中,如果不想排序破坏@users数组,直接用sort即可。
参考文献:Ruby: Sort an array of objects by an attribute
http://cpccai.iteye.com