微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

排序包含ruby / rails中的数字的字符串

我想根据他们有多少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) }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐