Rails,Geocoder和附近

oka*_*56k 7 ruby ruby-on-rails

我试图根据与用户的接近程度显示某些位置时遇到轻微问题.在我的控制器中我有这个:

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

用户存储纬度和经度.我想我在Location.near行中没有正确的参数,但我无法弄清楚它们应该是什么.

任何帮助,将不胜感激.

干杯!

hou*_*se9 7

让我们尝试重写一下,应该已经设置了current_user,不需要调用User.find.然后看起来你可以传递lat,只要一个数组

 @locations = Location.near([current_user.latitude, current_user.longitude], 50, :order => :distance)
Run Code Online (Sandbox Code Playgroud)

http://railscasts.com/episodes/273-geocoder

http://www.rubygeocoder.com/

https://github.com/alexreisner/geocoder(查看自述文件)