ruby-on-rails – 如何使用rubygeocoder gem限制位置数量?
发布时间:2020-12-17 03:52:58 所属栏目:百科 来源:网络整理
导读:我有一个位置对象,所以location.nearbys获取位置附近的所有位置.但我想将结果限制为5.我正在使用location.nearbys.limit(5),但问题是当没有附近位置时我收到错误消息.它说限制不能用于空数组[]. 那么,解决方案是什么.我可以用. location = location.nearbysl
我有一个位置对象,所以location.nearbys获取位置附近的所有位置.但我想将结果限制为5.我正在使用location.nearbys.limit(5),但问题是当没有附近位置时我收到错误消息.它说限制不能用于空数组[].
那么,解决方案是什么.我可以用. location = location.nearbys location = location.nearbys.limit(5) unless location.empty? 我有更好的方法吗?我使用的是mongoid,rails 3.0.7,ruby 1.9.2. 解决方法
问题是rubygeocoder如果成功则返回ActiveRecord :: Relation,但是失败时返回一个空数组.并且Ruby的数组没有响应限制,所以我的提示是使用第一个(数字)而不是限制(数字),这将适用于两个结果.
发现,这个问题的最佳解决方案是使用take(5),它将同时适用于Mongoid :: Criteria对象和Ruby Arrays. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |