From 9eef3a3a868444bf496de3c1a6dd2c84d4ed358f Mon Sep 17 00:00:00 2001 From: Elan Dubrofsky <elan.dubrofsky@gmail.com> Date: Wed, 16 May 2012 16:55:32 -0400 Subject: [PATCH] Put in full_column_name to avoid ambiguous column errors --- lib/geocoder/stores/active_record.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/geocoder/stores/active_record.rb b/lib/geocoder/stores/active_record.rb index 809c5505..0f710762 100644 --- a/lib/geocoder/stores/active_record.rb +++ b/lib/geocoder/stores/active_record.rb @@ -202,10 +202,10 @@ module Geocoder::Store end if options[:bearing] bearing = "CASE " + - "WHEN (#{lat_attr} >= #{latitude} AND #{lon_attr} >= #{longitude}) THEN 45.0 " + - "WHEN (#{lat_attr} < #{latitude} AND #{lon_attr} >= #{longitude}) THEN 135.0 " + - "WHEN (#{lat_attr} < #{latitude} AND #{lon_attr} < #{longitude}) THEN 225.0 " + - "WHEN (#{lat_attr} >= #{latitude} AND #{lon_attr} < #{longitude}) THEN 315.0 " + + "WHEN (#{full_column_name(lat_attr)} >= #{latitude} AND #{full_column_name(lon_attr)} >= #{longitude}) THEN 45.0 " + + "WHEN (#{full_column_name(lat_attr)} < #{latitude} AND #{full_column_name(lon_attr)} >= #{longitude}) THEN 135.0 " + + "WHEN (#{full_column_name(lat_attr)} < #{latitude} AND #{full_column_name(lon_attr)} < #{longitude}) THEN 225.0 " + + "WHEN (#{full_column_name(lat_attr)} >= #{latitude} AND #{full_column_name(lon_attr)} < #{longitude}) THEN 315.0 " + "END" else bearing = false @@ -216,7 +216,7 @@ module Geocoder::Store b = Geocoder::Calculations.bounding_box([latitude, longitude], radius, options) conditions = [ - "#{lat_attr} BETWEEN ? AND ? AND #{lon_attr} BETWEEN ? AND ?"] + + "#{full_column_name(lat_attr)} BETWEEN ? AND ? AND #{full_column_name(lon_attr)} BETWEEN ? AND ?"] + [b[0], b[2], b[1], b[3] ] default_near_scope_options(latitude, longitude, radius, options).merge( -- GitLab