From 4d4ded3c118acb96ca2a12612ef30bccf768d50e Mon Sep 17 00:00:00 2001 From: Matchu Date: Sat, 15 May 2010 13:47:46 -0400 Subject: [PATCH] items controller, basic view --- app/controllers/items_controller.rb | 12 +++++ app/helpers/application_helper.rb | 6 +++ app/helpers/items_helper.rb | 2 + app/views/items/index.html.haml | 5 ++ app/views/layouts/items.html.haml | 7 +++ config/routes.rb | 57 +---------------------- spec/controllers/items_controller_spec.rb | 5 ++ 7 files changed, 38 insertions(+), 56 deletions(-) create mode 100644 app/controllers/items_controller.rb create mode 100644 app/helpers/items_helper.rb create mode 100644 app/views/items/index.html.haml create mode 100644 app/views/layouts/items.html.haml create mode 100644 spec/controllers/items_controller_spec.rb diff --git a/app/controllers/items_controller.rb b/app/controllers/items_controller.rb new file mode 100644 index 00000000..2ed43f1b --- /dev/null +++ b/app/controllers/items_controller.rb @@ -0,0 +1,12 @@ +class ItemsController < ApplicationController + def index + if params.has_key?(:q) + @query = params[:q] + begin + @results = Item.search(@query).all + rescue + flash[:alert] = $!.message + end + end + end +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index de6be794..cc8618f9 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,2 +1,8 @@ module ApplicationHelper + def flashes + flash.inject('') do |html, pair| + key, value = pair + content_tag 'p', value, :class => key + end + end end diff --git a/app/helpers/items_helper.rb b/app/helpers/items_helper.rb new file mode 100644 index 00000000..cff0c9fe --- /dev/null +++ b/app/helpers/items_helper.rb @@ -0,0 +1,2 @@ +module ItemsHelper +end diff --git a/app/views/items/index.html.haml b/app/views/items/index.html.haml new file mode 100644 index 00000000..23691c16 --- /dev/null +++ b/app/views/items/index.html.haml @@ -0,0 +1,5 @@ += form_tag items_path, :method => :get do + = text_field_tag :q, @query + = submit_tag 'Search', :name => nil +- if @results + = @results.inspect diff --git a/app/views/layouts/items.html.haml b/app/views/layouts/items.html.haml new file mode 100644 index 00000000..291c8a24 --- /dev/null +++ b/app/views/layouts/items.html.haml @@ -0,0 +1,7 @@ +!!! 5 +%html + %head + %title Dress to Impress - Items + %body + = flashes + = yield diff --git a/config/routes.rb b/config/routes.rb index e2d9458f..a2f6bdbe 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,58 +1,3 @@ OpenneoImpressItems::Application.routes.draw do |map| - # The priority is based upon order of creation: - # first created -> highest priority. - - # Sample of regular route: - # match 'products/:id' => 'catalog#view' - # Keep in mind you can assign values other than :controller and :action - - # Sample of named route: - # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase - # This route can be invoked with purchase_url(:id => product.id) - - # Sample resource route (maps HTTP verbs to controller actions automatically): - # resources :products - - # Sample resource route with options: - # resources :products do - # member do - # get :short - # post :toggle - # end - # - # collection do - # get :sold - # end - # end - - # Sample resource route with sub-resources: - # resources :products do - # resources :comments, :sales - # resource :seller - # end - - # Sample resource route with more complex sub-resources - # resources :products do - # resources :comments - # resources :sales do - # get :recent, :on => :collection - # end - # end - - # Sample resource route within a namespace: - # namespace :admin do - # # Directs /admin/products/* to Admin::ProductsController - # # (app/controllers/admin/products_controller.rb) - # resources :products - # end - - # You can have the root of your site routed with "root" - # just remember to delete public/index.html. - # root :to => "welcome#index" - - # See how all your routes lay out with "rake routes" - - # This is a legacy wild controller route that's not recommended for RESTful applications. - # Note: This route will make all actions in every controller accessible via GET requests. - # match ':controller(/:action(/:id(.:format)))' + match '/' => 'items#index', :as => :items end diff --git a/spec/controllers/items_controller_spec.rb b/spec/controllers/items_controller_spec.rb new file mode 100644 index 00000000..b1db9fbb --- /dev/null +++ b/spec/controllers/items_controller_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe ItemsController do + +end