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

ジオコーディングはbefore_filterでトリガーされます:process_geocoding ここで定義されています

パフォーマンスのために、エントリをフィルタリングしてバッチでロードします。

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 に答える