From f26f8a425b3d67826423b3a60082e4f9dccec50e Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sat, 27 Jul 2013 13:12:29 +0200 Subject: [PATCH] Moved default page to "packages" controller. Using a partial template to render search results. Show packages by default even without a query. --- app/controllers/packages_controller.rb | 8 ++++++-- .../_packages_search_results.html.erb | 11 ++++++++++ app/views/packages/index.html.erb | 20 ++++++++++--------- app/views/welcome/index.html.erb | 14 ++++++------- config/routes.rb | 2 +- 5 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 app/views/packages/_packages_search_results.html.erb diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 3ff9bbc..ecef9f9 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -1,7 +1,11 @@ class PackagesController < ApplicationController def index - query = '%'+params[:search]+'%' - @packages = Package.where("description like ? or name like ?", query, query).order('name').first(20) + if params[:search] + query = '%'+params[:search]+'%' + @packages = Package.where("description like ? or name like ?", query, query).order('name').first(20) + else + @packages = Package.order('name').first(20) + end end def with_screenshots diff --git a/app/views/packages/_packages_search_results.html.erb b/app/views/packages/_packages_search_results.html.erb new file mode 100644 index 0000000..7626858 --- /dev/null +++ b/app/views/packages/_packages_search_results.html.erb @@ -0,0 +1,11 @@ +<%# Show search results %> + +<% if @packages %> + +<% end %> diff --git a/app/views/packages/index.html.erb b/app/views/packages/index.html.erb index f32a931..9e07967 100644 --- a/app/views/packages/index.html.erb +++ b/app/views/packages/index.html.erb @@ -1,10 +1,12 @@ -

Packages#index

-

Find me in app/views/packages/index.html.erb

+

Hello, Rails!

- +

Search for a package/description:

+ +<%= form_tag(url_for, method: "get") do %> + <%= text_field_tag :search, '', autofocus: true, placeholder: 'What are you looking for...' %> + <%= submit_tag "Search" %> +<% end %> + +

Search results

+ +<%= render "packages_search_results", object: @packages %> diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb index 7643b31..ea382e0 100644 --- a/app/views/welcome/index.html.erb +++ b/app/views/welcome/index.html.erb @@ -1,14 +1,14 @@

Hello, Rails!

Search for a package/description:

-
-
- -
-
- -<%= form_tag("/packages", method: "get") do %> +<%= form_tag(url_for, method: "get") do %> <%= text_field_tag :search, '', autofocus: true, placeholder: 'Search criteria...' %> <%= submit_tag "Search" %> <% end %> + +

Search results

+ +<%= @packages %> + +<%= render "packages_search_results", object: @packages %> diff --git a/config/routes.rb b/config/routes.rb index 80176e0..43766f2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,7 +10,7 @@ Debshots::Application.routes.draw do # You can have the root of your site routed with "root" # root 'welcome#index' - root to: "welcome#index" + root to: "packages#index" # Example of regular route: # get 'products/:id' => 'catalog#view'