我想根据他们有多少Facebook喜欢对我的所有位置进行排序.但是facebook_likes不是整数,而是一个字符串.
这是我使用的rails代码:
@locations = Location.order(“facebook_likes ASC”).全部
现在我得到这样的东西:
> 10
> 100
> 201
> 2
> 304
> 400000
> 50
> ……
如何根据值进行排序,以便签到次数最多的位置位于顶部.从一开始就使用字符串而不是整数来解决这个问题吗?
谢谢你的帮助!
解决方法
@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) }