Упорядочить по расстоянию без ближнего метода с использованием геокодера Ruby

Есть ли способ НЕ ограничивать расстояние до целевой позиции и заказывать только по расстоянию?

В настоящее время я делаю что-то вроде этого:

@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])

Я надеюсь, что кто-нибудь может мне помочь.


person Tobias    schedule 15.09.2015    source источник


Ответы (1)


Это не так недружелюбно к программисту, как кажется. Если вы работали, например, с C, то знаете, что нет точного определения диапазона int. Даже для Java, где размер точен, он все равно ограничен, и об этом не следует забывать.

Если вы хотите, чтобы ваш запрос был более читабельным, определите константу NO_LIMIT = 999999 и используйте ее вместо :no_limit.

На подобную проблему есть ответ от создателя geocoder:

Я думаю, что лучше всего использовать очень большой радиус.

Так что, вероятно, нет никакого способа обойти это.

person dimakura    schedule 15.09.2015