From 2c52c91b393f087df60c3f6765905cbc8248e3e7 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Mon, 4 Dec 2017 07:54:19 +0000 Subject: [PATCH] Make changeset#query preload users, tags and comments --- app/controllers/changeset_controller.rb | 6 ++++++ app/models/changeset.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 898afae4a..8fbbe1362 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -216,6 +216,12 @@ class ChangesetController < ApplicationController changesets = conditions_closed(changesets, params["closed"]) changesets = conditions_ids(changesets, params["changesets"]) + # sort and limit the changesets + changesets = changesets.order("created_at DESC").limit(100) + + # preload users, tags and comments + changesets = changesets.preload(:user, :changeset_tags, :comments) + # create the results document results = OSM::API.new.get_xml_doc diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 37d26e0a7..2ec26ecee 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -238,7 +238,7 @@ class Changeset < ActiveRecord::Base bbox.to_unscaled.add_bounds_to(el1, "_") if bbox.complete? - el1["comments_count"] = comments.count.to_s + el1["comments_count"] = comments.length.to_s if include_discussion el2 = XML::Node.new("discussion") -- 2.43.2