将gmaps设置为false,无法更新地理编码位置

时间:2011-08-23 23:20:04

标签: ruby-on-rails ruby ruby-on-rails-3 google-maps gmaps4rails

我正在使用伟大的宝石gmaps4rails在我的Ruby on Rails网站上放置Google Map。我在wiki上关注this page并尝试通过将gmaps字段设置为false来控制何时应更新计算的纬度和经度。我似乎无法让它发挥作用。

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

class User < ActiveRecord::Base
   acts_as_gmappable

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

   def gmaps4rails_address
      address
   end

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

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

谢谢!

1 个答案:

答案 0 :(得分:4)

请看the test here,第72行。

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

model_instance.update_attributes({ :sec_address => "new address", 
                                   :gmaps       => false })