changelog shortlog tags manifest raw

changeset: add scaffold order.

changeset 10: c7be8325050f
parent 9:5cf82beef889
child 11:094fe4526925
author: moriq@moriq.com
date: Mon Mar 10 03:24:46 2008 +0900 (16 years ago)
files: app/controllers/orders_controller.rb app/helpers/orders_helper.rb app/models/order.rb config/routes.rb db/migrate/003_create_orders.rb test/fixtures/orders.yml test/functional/orders_controller_test.rb test/unit/order_test.rb
description: add scaffold order.
--- 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