2012-07-13 8 views
6

Ich habe ein kleines Problem mit dem Versuch, bestimmte Standorte basierend auf der Nähe zu einem Benutzer anzuzeigen. In meinem Controller habe ich dies:Schienen, Geocoder und in der Nähe

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

Benutzer haben eine geographische Breite und Länge gespeichert. Ich denke, ich habe nicht die richtigen Parameter in der Location.near Zeile, aber ich kann nicht herausfinden, was sie sein sollten.

Jede Hilfe wäre willkommen.

Prost!

+0

wann immer ich versuche zu verwenden: order =>: entferne es zeige mir error 'cant wandle entfernung in to_f' –

Antwort

2

Sie den Abstand definieren, die Sie suchen möchten, Denken Sie daran, auch das Gerät zu übergeben:

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

die einheit in Kilometer zu übergeben war sehr nützlich für mich. Vielen Dank! –

Verwandte Themen