Pra*_*tha 4 ruby rubygems geocoding ruby-on-rails
我有一个位置对象,所以location.nearbys获取位置附近的所有位置.但我想将结果限制为5.我正在使用location.nearbys.limit(5),但问题是当没有附近位置时我收到错误消息.它说限制不能用于空数组[].那么,解决方案是什么.我可以用.
location = location.nearbys
location = location.nearbys.limit(5) unless location.empty?
Run Code Online (Sandbox Code Playgroud)
我有更好的方法吗?我使用的是mongoid,rails 3.0.7,ruby 1.9.2.
问题是rubygeocoder ActiveRecord::Relation在成功时返回,但Array在失败时返回空.并且Ruby的Array没有响应limit,因此我的提示是使用first(number)而不是limit(number),这将适用于这两个结果.
发现,这个问题的最佳解决方案是使用take(5)哪个适用于Mongoid::Criteria对象和Ruby Array.