diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index ee3ffac..509ac06 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -3,16 +3,22 @@ class PackagesController < ApplicationController @packages = Package if params[:with_screenshots]=='yes' - @packages = @packages.joins(:screenshots).where('screenshots.approved = ?', true) + #@packages = @packages.joins(:screenshots).where('screenshots.approved = ?', true) + + # Limit the packages to those that have approved screenshots. + # Also eager-load the screenshots. + @packages = @packages.includes(:screenshots).where("screenshots.approved"=>true) + #@packages = @packages.where("screenshots.approved"=>true) end - if params[:search] - query = '%'+params[:search]+'%' + #if params[:search] + #query = '%'+params[:search]+'%' # TODO: Index on lower(…) is missing. Does not scale. # TODO: Consider using a serious search engine like Xapian or ElasticSearch. - @packages = @packages.where("lower(description) like lower(?) or lower(name) like lower(?)", query, query) - end + #@packages = @packages.where("lower(description) like lower(?) or lower(name) like lower(?)", query, query) + #end + #@packages = @packages.order('name').includes(:screenshots).limit(20) @packages = @packages.order('name').limit(20) end diff --git a/app/models/screenshot.rb b/app/models/screenshot.rb index 63578d1..26e2a00 100644 --- a/app/models/screenshot.rb +++ b/app/models/screenshot.rb @@ -4,7 +4,9 @@ class Screenshot < ActiveRecord::Base # Return the URL to this screenshot. # size: 'small' (thumbnail) or 'large' (full-size) # (If possible serve the screenshots statically from the web server.) + #attr_accessor :image_url def image_url(size) + # TODO: Prevents proper eager loading somehow... "/screenshots/#{self.package.name[0]}/#{self.package.name}/#{self.id}_#{size}.png" end end diff --git a/app/views/packages/_packages_search_results.html.erb b/app/views/packages/_packages_search_results.html.erb index c104869..e33a337 100644 --- a/app/views/packages/_packages_search_results.html.erb +++ b/app/views/packages/_packages_search_results.html.erb @@ -5,9 +5,7 @@