X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/c184b20f9f39ca52eac198f6154b42ee253b50a2..4235bdf1621b106328c574ade941810c16ca55ab:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index 9658a9929..9d2239d5c 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -61,7 +61,7 @@ class Way < ActiveRecord::Base user_display_name_cache = {} if user_display_name_cache.nil? - if user_display_name_cache and user_display_name_cache[self.user_id] + if user_display_name_cache and user_display_name_cache.key?(self.user_id) # use the cache if available elsif self.user.data_public? user_display_name_cache[self.user_id] = self.user.display_name @@ -148,10 +148,12 @@ class Way < ActiveRecord::Base t = Time.now self.timestamp = t self.save! - + + tags = self.tags + WayTag.delete_all(['id = ?', self.id]) - self.tags.each do |k,v| + tags.each do |k,v| tag = WayTag.new tag.k = k tag.v = v @@ -159,10 +161,12 @@ class Way < ActiveRecord::Base tag.save! end + segs = self.segs + WaySegment.delete_all(['id = ?', self.id]) - - i = 0 - self.segs.each do |n| + + i = 1 + segs.each do |n| seg = WaySegment.new seg.id = self.id seg.segment_id = n