Do more preloading in browse controller methods

Fixes #1476
This commit is contained in:
Tom Hughes 2017-03-07 09:10:24 +00:00
parent d86380e7b5
commit 33669daefb

View file

@ -9,7 +9,7 @@ class BrowseController < ApplicationController
def relation def relation
@type = "relation" @type = "relation"
@feature = Relation.find(params[:id]) @feature = Relation.preload(:relation_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :relation_members => :member).find(params[:id])
render "feature" render "feature"
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found render :action => "not_found", :status => :not_found
@ -17,7 +17,7 @@ class BrowseController < ApplicationController
def relation_history def relation_history
@type = "relation" @type = "relation"
@feature = Relation.find(params[:id]) @feature = Relation.preload(:relation_tags, :old_relations => [:old_tags, :changeset => [:changeset_tags, :user], :old_members => :member]).find(params[:id])
render "history" render "history"
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found render :action => "not_found", :status => :not_found
@ -25,7 +25,7 @@ class BrowseController < ApplicationController
def way def way
@type = "way" @type = "way"
@feature = Way.preload(:way_tags, :containing_relation_members, :changeset => :user, :nodes => [:node_tags, :ways => :way_tags]).find(params[:id]) @feature = Way.preload(:way_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :nodes => [:node_tags, :ways => :way_tags]).find(params[:id])
render "feature" render "feature"
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found render :action => "not_found", :status => :not_found
@ -33,7 +33,7 @@ class BrowseController < ApplicationController
def way_history def way_history
@type = "way" @type = "way"
@feature = Way.preload(:way_tags, :old_ways => { :changeset => :user }).find(params[:id]) @feature = Way.preload(:way_tags, :old_ways => [:old_tags, :changeset => [:changeset_tags, :user], :old_nodes => { :node => [:node_tags, :ways] }]).find(params[:id])
render "history" render "history"
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found render :action => "not_found", :status => :not_found
@ -41,7 +41,7 @@ class BrowseController < ApplicationController
def node def node
@type = "node" @type = "node"
@feature = Node.find(params[:id]) @feature = Node.preload(:node_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :ways => :way_tags).find(params[:id])
render "feature" render "feature"
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found render :action => "not_found", :status => :not_found
@ -49,7 +49,7 @@ class BrowseController < ApplicationController
def node_history def node_history
@type = "node" @type = "node"
@feature = Node.find(params[:id]) @feature = Node.preload(:node_tags, :old_nodes => [:old_tags, :changeset => [:changeset_tags, :user]]).find(params[:id])
render "history" render "history"
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found render :action => "not_found", :status => :not_found