0

我正在将 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
4

1 回答 1

0

process_geocoding 地理编码在 before_filter: 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
于 2012-10-07T19:37:40.407 回答