--- a/config/routes.rb Mon Mar 10 03:22:11 2008 +0900
+++ b/config/routes.rb Mon Mar 10 03:24:46 2008 +0900
@@ -1,4 +1,6 @@ ActionController::Routing::Routes.draw d
ActionController::Routing::Routes.draw do |map|
+ map.resources :orders
+
map.resources :products
map.resources :users
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/controllers/orders_controller.rb Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,85 @@
+class OrdersController < ApplicationController
+ # GET /orders
+ # GET /orders.xml
+ def index
+ @orders = Order.find(:all)
+
+ respond_to do |format|
+ format.html # index.html.erb
+ format.xml { render :xml => @orders }
+ end
+ end
+
+ # GET /orders/1
+ # GET /orders/1.xml
+ def show
+ @order = Order.find(params[:id])
+
+ respond_to do |format|
+ format.html # show.html.erb
+ format.xml { render :xml => @order }
+ end
+ end
+
+ # GET /orders/new
+ # GET /orders/new.xml
+ def new
+ @order = Order.new
+
+ respond_to do |format|
+ format.html # new.html.erb
+ format.xml { render :xml => @order }
+ end
+ end
+
+ # GET /orders/1/edit
+ def edit
+ @order = Order.find(params[:id])
+ end
+
+ # POST /orders
+ # POST /orders.xml
+ def create
+ @order = Order.new(params[:order])
+
+ respond_to do |format|
+ if @order.save
+ flash[:notice] = 'Order was successfully created.'
+ format.html { redirect_to(@order) }
+ format.xml { render :xml => @order, :status => :created, :location => @order }
+ else
+ format.html { render :action => "new" }
+ format.xml { render :xml => @order.errors, :status => :unprocessable_entity }
+ end
+ end
+ end
+
+ # PUT /orders/1
+ # PUT /orders/1.xml
+ def update
+ @order = Order.find(params[:id])
+
+ respond_to do |format|
+ if @order.update_attributes(params[:order])
+ flash[:notice] = 'Order was successfully updated.'
+ format.html { redirect_to(@order) }
+ format.xml { head :ok }
+ else
+ format.html { render :action => "edit" }
+ format.xml { render :xml => @order.errors, :status => :unprocessable_entity }
+ end
+ end
+ end
+
+ # DELETE /orders/1
+ # DELETE /orders/1.xml
+ def destroy
+ @order = Order.find(params[:id])
+ @order.destroy
+
+ respond_to do |format|
+ format.html { redirect_to(orders_url) }
+ format.xml { head :ok }
+ end
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/helpers/orders_helper.rb Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,2 @@
+module OrdersHelper
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/models/order.rb Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,2 @@
+class Order < ActiveRecord::Base
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/db/migrate/003_create_orders.rb Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,14 @@
+class CreateOrders < ActiveRecord::Migration
+ def self.up
+ create_table :orders do |t|
+ t.string :name
+ t.string :email
+
+ t.timestamps
+ end
+ end
+
+ def self.down
+ drop_table :orders
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/fixtures/orders.yml Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,9 @@
+# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
+
+one:
+ name: MyString
+ email: MyString
+
+two:
+ name: MyString
+ email: MyString
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/functional/orders_controller_test.rb Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,45 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class OrdersControllerTest < ActionController::TestCase
+ def test_should_get_index
+ get :index
+ assert_response :success
+ assert_not_nil assigns(:orders)
+ end
+
+ def test_should_get_new
+ get :new
+ assert_response :success
+ end
+
+ def test_should_create_order
+ assert_difference('Order.count') do
+ post :create, :order => { }
+ end
+
+ assert_redirected_to order_path(assigns(:order))
+ end
+
+ def test_should_show_order
+ get :show, :id => orders(:one).id
+ assert_response :success
+ end
+
+ def test_should_get_edit
+ get :edit, :id => orders(:one).id
+ assert_response :success
+ end
+
+ def test_should_update_order
+ put :update, :id => orders(:one).id, :order => { }
+ assert_redirected_to order_path(assigns(:order))
+ end
+
+ def test_should_destroy_order
+ assert_difference('Order.count', -1) do
+ delete :destroy, :id => orders(:one).id
+ end
+
+ assert_redirected_to orders_path
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/unit/order_test.rb Mon Mar 10 03:24:46 2008 +0900
@@ -0,0 +1,8 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class OrderTest < ActiveSupport::TestCase
+ # Replace this with your real tests.
+ def test_truth
+ assert true
+ end
+end