将Gmaps4Rails添加到现有站点 - 需要从现有地址数据填充lat长字段

时间:2012-10-07 05:36:14

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

我正在将gmaps4rails集成到现有网站中,并且在生产网站上使用它可以很好地处理自我推出以来已经创建或更新的记录,但是如果用户提取过去在地图中创建的记录将为空,因为lat和long字段尚未更新。我正在寻找一种方法来通过更新过程运行所有记录,以便他们将自动生成并且地图将正确显示。

模型

acts_as_gmappable

def gmaps4rails_address
  "#{self.street}, #{self.city}, #{self.state}"
end

查看

<%= gmaps({"map_options" => {"auto_adjust" => true, "auto_zoom" => false, "zoom" => 14},
                  "markers"=> {"data" => @json }}) %>

我可以从控制台运行一些不会更改任何现有记录数据但会更新所需字段的内容吗?以下是我的意思吗?

Workorder.all.update_attributes

1 个答案:

答案 0 :(得分:0)

地理编码在before_filter中触发:process_geocoding defined here

为了性能,我会过滤条目并分批加载,我会说:

Workorder.where("latitude IS NULL").find_each do |order|
  order.save
end

原始方法是:

Workorder.all.each do |order|
  order.save if order.latitude.blank?
end