1

我正在使用伟大的 gem gmaps4rails在我的 Ruby on Rails 网站上放置一个谷歌地图。我正在关注wiki 上的此页面gmaps,并尝试通过将字段设置为 false来控制何时更新计算的纬度和经度。我似乎无法让它工作。

在我的用户模型中,我有这个:

class User < ActiveRecord::Base
   acts_as_gmappable

   attr_accessible :latitude, :longitude, :address, :gmaps

   def gmaps4rails_address
      address
   end

我确定我在这里遗漏了一些简单的东西。我正在address使用 SQLite 数据库浏览器直接在数据库中将字段更改为新的内容,设置latitudelongitude0,我尝试设置gmaps为 false、f、0、null(不确定 SQLite 中的 false 是什么)......然后通过刷新页面再次加载地图。它始终在 0,0.. 处显示标记。

我认为我所要做的就是定义一个boolean被调用gmaps的,当它设置为 false 时,在加载地图时,它应该通过对地址进行地理编码来重新计算纬度/经度。我错过了什么?

谢谢!

4

1 回答 1

4

看看这里的测试,第 72 行。

地图加载时不会刷新坐标,这是acts_as_gmappable模型验证过程的一部分。

model_instance.update_attributes({ :sec_address => "new address", 
                                   :gmaps       => false })
于 2011-08-24T06:17:03.277 回答