From: Tom Hughes Date: Wed, 23 Jan 2008 09:53:35 +0000 (+0000) Subject: Make things work with multipart keys. X-Git-Tag: live~7913 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/bee38e63a3cf9083d5bf38e8bbfbac62f9a6a9d1 Make things work with multipart keys. --- diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index a17e630c2..28d0f413b 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -161,7 +161,7 @@ class ApiController < ApplicationController ways = Array.new if node_ids.length > 0 way_nodes = WayNode.find_all_by_node_id(node_ids) - way_ids = way_nodes.collect {|way_node| way_node.id } + way_ids = way_nodes.collect {|way_node| way_node.id[0] } ways = Way.find(way_ids) list_of_way_nodes = ways.collect { |way| diff --git a/app/models/old_way.rb b/app/models/old_way.rb index aa9c81d0a..a2b165e42 100644 --- a/app/models/old_way.rb +++ b/app/models/old_way.rb @@ -38,15 +38,13 @@ class OldWay < ActiveRecord::Base tag.save! end - i = 1 + sequence = 1 self.nds.each do |n| nd = OldWayNode.new - nd.id = self.id + nd.id = [self.id, self.version, sequence] nd.node_id = n - nd.sequence_id = i - nd.version = self.version nd.save! - i += 1 + sequence += 1 end end diff --git a/app/models/old_way_node.rb b/app/models/old_way_node.rb index 5260ee698..85a6f3c1c 100644 --- a/app/models/old_way_node.rb +++ b/app/models/old_way_node.rb @@ -1,6 +1,5 @@ class OldWayNode < ActiveRecord::Base - belongs_to :user - set_table_name 'way_nodes' + set_primary_keys :id, :version, :sequence_id end diff --git a/app/models/way.rb b/app/models/way.rb index ff2e64370..1fe628171 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -177,14 +177,13 @@ class Way < ActiveRecord::Base WayNode.delete_all(['id = ?', self.id]) - i = 1 + sequence = 1 nds.each do |n| nd = WayNode.new - nd.id = self.id + nd.id = [self.id, sequence] nd.node_id = n - nd.sequence_id = i nd.save! - i += 1 + sequence += 1 end end