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 %>
+
+ <% @packages.each do |package| %>
+ -
+ <%= package.name %> (<%= package.description %>)
+
+ <% end %>
+
+<% 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!
-
- <% @packages.each do |package| %>
- -
- <%= package.name %> (<%= package.description %>)
-
- <% end %>
-
+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'