File: app/controllers/orders_controller.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  class: OrdersController#9
inherits from
  ApplicationController   
has properties
method: index #12
method: show #23
method: new #34
method: edit #44
method: create #50
method: update #67
method: destroy #84

Class Hierarchy

Code

   1  #---
   2  # Excerpted from "Agile Web Development with Rails, 3rd Ed.",
   3  # published by The Pragmatic Bookshelf.
   4  # Copyrights apply to this code. It may not be used to create training material, 
   5  # courses, books, articles, and the like. Contact us if you are in doubt.
   6  # We make no guarantees that this code is fit for any purpose. 
   7  # Visit http://www.pragmaticprogrammer.com/titles/rails3 for more book information.
   8  #---
   9  class OrdersController < ApplicationController
  10    # GET /orders
  11    # GET /orders.xml
  12    def index
  13      @orders = Order.find(:all)
  14 
  15      respond_to do |format|
  16        format.html # index.html.erb
  17        format.xml  { render :xml => @orders }
  18      end
  19    end
  20 
  21    # GET /orders/1
  22    # GET /orders/1.xml
  23    def show
  24      @order = Order.find(params[:id])
  25 
  26      respond_to do |format|
  27        format.html # show.html.erb
  28        format.xml  { render :xml => @order }
  29      end
  30    end
  31 
  32    # GET /orders/new
  33    # GET /orders/new.xml
  34    def new
  35      @order = Order.new
  36 
  37      respond_to do |format|
  38        format.html # new.html.erb
  39        format.xml  { render :xml => @order }
  40      end
  41    end
  42 
  43    # GET /orders/1/edit
  44    def edit
  45      @order = Order.find(params[:id])
  46    end
  47 
  48    # POST /orders
  49    # POST /orders.xml
  50    def create
  51      @order = Order.new(params[:order])
  52 
  53      respond_to do |format|
  54        if @order.save
  55          flash[:notice] = 'Order was successfully created.'
  56          format.html { redirect_to(@order) }
  57          format.xml  { render :xml => @order, :status => :created, :location => @order }
  58        else
  59          format.html { render :action => "new" }
  60          format.xml  { render :xml => @order.errors, :status => :unprocessable_entity }
  61        end
  62      end
  63    end
  64 
  65    # PUT /orders/1
  66    # PUT /orders/1.xml
  67    def update
  68      @order = Order.find(params[:id])
  69 
  70      respond_to do |format|
  71        if @order.update_attributes(params[:order])
  72          flash[:notice] = 'Order was successfully updated.'
  73          format.html { redirect_to(@order) }
  74          format.xml  { head :ok }
  75        else
  76          format.html { render :action => "edit" }
  77          format.xml  { render :xml => @order.errors, :status => :unprocessable_entity }
  78        end
  79      end
  80    end
  81 
  82    # DELETE /orders/1
  83    # DELETE /orders/1.xml
  84    def destroy
  85      @order = Order.find(params[:id])
  86      @order.destroy
  87 
  88      respond_to do |format|
  89        format.html { redirect_to(orders_url) }
  90        format.xml  { head :ok }
  91      end
  92    end
  93  end