我想根据他们有多少Facebook喜欢对我的所有位置进行排序。但facebook_likes
不是integer
,而是string
。
这是我使用的rails代码:
@locations = Location.order("facebook_likes ASC").all
现在我得到这样的东西:
如何根据值进行排序,以便签到次数最多的位置位于顶部。从头开始使用字符串而不是整数的解决方案是什么?
谢谢你的帮助!答案 0 :(得分:9)
@locations = Location.all.sort { |a, b| b.facebook_likes.to_i <=> a.facebook_likes.to_i }
或
@locations = Location.all.sort_by { |a| -(a.facebook_likes.to_i) }