Make sure we get the list of tags and segments to save before we do the

corresponding delete, as otherwise we might not have read them from the
database yet.
This commit is contained in:
Tom Hughes 2007-06-24 11:12:52 +00:00
parent 91461927d4
commit 71606b34f0

View file

@ -148,10 +148,12 @@ class Way < ActiveRecord::Base
t = Time.now t = Time.now
self.timestamp = t self.timestamp = t
self.save! self.save!
tags = self.tags
WayTag.delete_all(['id = ?', self.id]) WayTag.delete_all(['id = ?', self.id])
self.tags.each do |k,v| tags.each do |k,v|
tag = WayTag.new tag = WayTag.new
tag.k = k tag.k = k
tag.v = v tag.v = v
@ -159,10 +161,12 @@ class Way < ActiveRecord::Base
tag.save! tag.save!
end end
segs = self.segs
WaySegment.delete_all(['id = ?', self.id]) WaySegment.delete_all(['id = ?', self.id])
i = 0 i = 0
self.segs.each do |n| segs.each do |n|
seg = WaySegment.new seg = WaySegment.new
seg.id = self.id seg.id = self.id
seg.segment_id = n seg.segment_id = n