Avoid reading nodes twice in WayController#full
This commit is contained in:
parent
369d5a0bfd
commit
e6a1003509
1 changed files with 3 additions and 1 deletions
|
@ -64,6 +64,7 @@ class WayController < ApplicationController
|
||||||
way = Way.includes(:nodes => :node_tags).find(params[:id])
|
way = Way.includes(:nodes => :node_tags).find(params[:id])
|
||||||
|
|
||||||
if way.visible
|
if way.visible
|
||||||
|
visible_nodes = {}
|
||||||
changeset_cache = {}
|
changeset_cache = {}
|
||||||
user_display_name_cache = {}
|
user_display_name_cache = {}
|
||||||
|
|
||||||
|
@ -71,9 +72,10 @@ class WayController < ApplicationController
|
||||||
way.nodes.uniq.each do |node|
|
way.nodes.uniq.each do |node|
|
||||||
if node.visible
|
if node.visible
|
||||||
doc.root << node.to_xml_node(changeset_cache, user_display_name_cache)
|
doc.root << node.to_xml_node(changeset_cache, user_display_name_cache)
|
||||||
|
visible_nodes[node.id] = node
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
doc.root << way.to_xml_node(nil, changeset_cache, user_display_name_cache)
|
doc.root << way.to_xml_node(visible_nodes, changeset_cache, user_display_name_cache)
|
||||||
|
|
||||||
render :text => doc.to_s, :content_type => "text/xml"
|
render :text => doc.to_s, :content_type => "text/xml"
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue