rails geocoder无法自定义模型列名称lat和lng

时间:2014-08-07 22:55:19

标签: ruby-on-rails rails-geocoder

到我的city.rb添加了

geocoded_by :latitude  => :lat, :longitude => :lng

然后我打电话

city = City.near(city_name).first

我得到了

ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:  column cities.latitude does not exist

1 个答案:

答案 0 :(得分:0)

在city.rb中,传递给geocoded_by方法的参数是正确的:

如果您正在进行正常的地理编码,则需要先指定意味着将字符串地址转换为纬度和经度,正确的代码应该是这样的

geocoded_by :address, :latitude  => :lat, :longitude => :lon # ActiveRecord

其中address是存储将要搜索的字符串的字段,或者它可以是创建用于获取其等效纬度和经度的字符串的方法。

如果你想做相反的事情,意味着获得特定坐标的地址,然后你应该使用:

reverse_geocoded_by :latitude, :longitude, :address => :location  # ActiveRecord