2012-07-13 9 views
6

Tengo un pequeño problema al tratar de mostrar ciertos lugares según la proximidad de un usuario. En mi controlador tengo esto:Rails, Geocoder y cerca de

if User.find(current_user) 
    @user = User.find(current_user) 
    @locations = Location.near(params[:latitude => @user.latitude, :longitude => @user.longitude], 50, :order => :distance) 
    end 

Los usuarios tienen una latitud y longitud almacenadas. Estoy pensando que no tengo los parámetros correctos en la línea Location.near, pero no puedo entender cuáles deberían ser.

Cualquier ayuda sería apreciada.

¡Salud!

+0

cuando alguna vez trato de usar: order =>: distance me muestra error 'no puedo convertir la distancia en to_f' –

Respuesta

2

Se puede definir la distancia que desea buscar, Recuerde pasar la unidad también:

@locations = Location.near([current_user.latitude, current_user.longitude], 50, units: :km) 
+0

pasando la unidad en Kilómetros fue muy útil para mí. ¡Gracias! –

Cuestiones relacionadas