使用 Ruby 地理编码器按距离排序而不使用 near 方法

Order by Distance without near method using Ruby geocoder

有没有办法不限制到目标位置的距离,只按距离排序?

我目前正在做这样的事情:

@positions = Position.near(@user_position.coordinates, 999999).order(:distance).paginate(page: params[:page])

但是作为一个程序员,用这样的东西感觉不太对。

如果有这样的东西就好了:

@positions = Position.near(@user_position.coordinates, :no_limit).order(:distance).paginate(page: params[:page])

我希望有人能帮助我。

它并不像看起来那样对程序员不友好。例如,如果您使用过 C,就会知道 int 的范围没有确切的定义。即使是Java,尺寸再精确,也是有限制的,不要忘了。

如果您希望查询更具可读性,请定义 NO_LIMIT = 999999 常量并使用它代替 :no_limit

geocoder 的创建者在 similar issue 上有一个回答:

I think your best bet is to use a very large radius.

所以可能没有办法解决它。