X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/970e1a99d7dce64f0631e88c5b9f060fb48d75fe..dd619fbe73fcd19e2dc4f3e8160158b8d90b3a66:/app/models/relation.rb?ds=inline diff --git a/app/models/relation.rb b/app/models/relation.rb index b78c95ce4..d2490dbae 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -33,7 +33,7 @@ class Relation < ActiveRecord::Base scope :ways, ->(*ids) { joins(:relation_members).where(:current_relation_members => { :member_type => "Way", :member_id => ids.flatten }) } scope :relations, ->(*ids) { joins(:relation_members).where(:current_relation_members => { :member_type => "Relation", :member_id => ids.flatten }) } - TYPES = %w(node way relation).freeze + TYPES = %w[node way relation].freeze def self.from_xml(xml, create = false) p = XML::Parser.string(xml, :options => XML::Parser::Options::NOERROR) @@ -317,7 +317,7 @@ class Relation < ActiveRecord::Base # if there are left-over tags then they are new and will have to # be added. tags_changed |= !tags.empty? - RelationTag.delete_all(:relation_id => id) + RelationTag.where(:relation_id => id).delete_all self.tags.each do |k, v| tag = RelationTag.new tag.relation_id = id @@ -347,7 +347,7 @@ class Relation < ActiveRecord::Base # members may be in a different order and i don't feel like implementing # a longest common subsequence algorithm to optimise this. members = self.members - RelationMember.delete_all(:relation_id => id) + RelationMember.where(:relation_id => id).delete_all members.each_with_index do |m, i| mem = RelationMember.new mem.relation_id = id