导轨 3.1,红宝石 1.9.3
所以我有两个模型,都有两组坐标。
第一个模型 ,Load
有from_lat/lng
, 以及to_lat/lng
.
第二个模型,卡车,也current_lat/lng
有destination_lat/lng
。
我正在尝试做的是找到所有在负载模型的 to_lat/lng 附近具有current_lat/lng
或destination_lat/lng
来自卡车模型的结果。
我的车道模型是这样的:
class Load < ActiveRecord::Base
has_many :trucks
geocoded_by :custom_geocode
after_validation :custom_geocode
def custom_geocode
var = Geocoder.coordinates([from_city,from_state].compact.join(','))
var2 = Geocoder.coordinates([to_city,to_state].compact.join(','))
self.from_lat = var.first
self.from_lng = var.last
self.to_lat = var2.first
self.to_lng = var2.last
end
end
在我看来,我有:
<% for truck in @trucks %>
<li><%= truck.destination_lat %></li>
<% end %>
目前我在我的loads_controller中使用它:
def show
@load = Load.find(params[:id])
@trucks = Truck.near([@load.from_lat, @load.from_lng], 100, :order => "distance")
respond_to do |format|
format.html # show.html.erb
format.json { render json: @load }
end
end
我得到的错误是:
PG::Error: ERROR: column trucks.latitude does not exist
我知道这是因为列的名称不是默认的:latitude
,并且:longitude
. 在此特定搜索期间,我如何指定卡车模型中要使用的列集(destination_lat/lng 或 current_lat/lng)?