# HG changeset patch # User moriq@moriq.com # Date 1205087086 -32400 # Node ID c7be8325050f1ce1d0c06f3ca63ef5461341b711 # Parent 5cf82beef88906a0d1d30cfc3885de8d034801d5 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