diff --git a/app/logical/iqdb/download.rb b/app/logical/iqdb/download.rb index f7ace2006..512cb2ce5 100644 --- a/app/logical/iqdb/download.rb +++ b/app/logical/iqdb/download.rb @@ -33,7 +33,13 @@ module Iqdb if resp.is_a?(Net::HTTPSuccess) json = JSON.parse(resp.body) if json.is_a?(Array) - @matches = json + post_ids = json.map { |match| match["post_id"] } + posts = Post.find(post_ids) + + @matches = json.map do |match| + post = posts.find { |post| post.id == match["post_id"] } + match.with_indifferent_access.merge({ post: post }) + end else @matches = [] end diff --git a/app/views/iqdb_queries/create_by_post.js.erb b/app/views/iqdb_queries/create_by_post.js.erb index e49812c6f..1877d32a4 100644 --- a/app/views/iqdb_queries/create_by_post.js.erb +++ b/app/views/iqdb_queries/create_by_post.js.erb @@ -1,7 +1,7 @@ var html = ''; <% if @results.any? %> <% @results.each do |match| %> - html += '<%= j PostPresenter.preview(Post.find(match["post_id"]), :tags => "status:any") %>'; + html += '<%= j PostPresenter.preview(match[:post], :tags => "status:any") %>'; <% end %> <% else %> html += '
No matches found
'; diff --git a/app/views/iqdb_queries/create_by_url.html.erb b/app/views/iqdb_queries/create_by_url.html.erb index b33993d41..87846f0b6 100644 --- a/app/views/iqdb_queries/create_by_url.html.erb +++ b/app/views/iqdb_queries/create_by_url.html.erb @@ -1,7 +1,7 @@ <% if @results.any? %>