]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/ways/relations_controller.rb
Merge remote-tracking branch 'upstream/pull/5632'
[rails.git] / app / controllers / api / ways / relations_controller.rb
index fcd8b40dd03ab714257c4bc93b22762069026cd2..4188dfe4eceb637d9107cd7a73ee12372424e098 100644 (file)
@@ -6,13 +6,12 @@ module Api
       before_action :set_request_formats
 
       def index
-        relation_ids = RelationMember.where(:member_type => "Way", :member_id => params[:way_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 => "Way",
+                       :member_id => params[:way_id]
+                     ).select(:relation_id))
 
         # Render the result
         respond_to do |format|