]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/relations/relations_controller.rb
Merge remote-tracking branch 'upstream/pull/5233'
[rails.git] / app / controllers / api / relations / relations_controller.rb
index 1769e1396ace5bda28da782864c0bf0acec6f261..9b829252645aa26a9528270e1726dcd3f31f14da 100644 (file)
@@ -6,13 +6,12 @@ module Api
       before_action :set_request_formats
 
       def index
-        relation_ids = RelationMember.where(:member_type => "Relation", :member_id => params[:relation_id]).collect(&:relation_id).uniq
-
-        @relations = []
-
-        Relation.find(relation_ids).each do |relation|
-          @relations << relation if relation.visible
-        end
+        @relations = Relation
+                     .visible
+                     .where(:id => RelationMember.where(
+                       :member_type => "Relation",
+                       :member_id => params[:relation_id]
+                     ).select(:relation_id))
 
         # Render the result
         respond_to do |format|