changelog shortlog tags changeset manifest revisions annotate raw

app/controllers/order_items_controller.rb

changeset 19: a995025031b3
parent:e280ef17cd5a
author: moriq <moriq@moriq.com>
date: Mon Mar 10 11:04:49 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: 'Add to Cart'をorder_items resourceへのPOSTとみなす。
1class OrderItemsController < ApplicationController
2 before_filter :assign_session_order
3
4 # GET /order_items
5 # GET /order_items.xml
6 def index
7 @order_items = @order.items.find(:all)
8
9 respond_to do |format|
10 format.html # index.html.erb
11 format.xml { render :xml => @order_items }
12 end
13 end
14
15 # GET /order_items/1
16 # GET /order_items/1.xml
17 def show
18 @order_item = @order.items.find(params[:id])
19
20 respond_to do |format|
21 format.html # show.html.erb
22 format.xml { render :xml => @order_item }
23 end
24 end
25
26 # GET /order_items/new
27 # GET /order_items/new.xml
28 def new
29 @order_item = @order.items.new
30
31 respond_to do |format|
32 format.html # new.html.erb
33 format.xml { render :xml => @order_item }
34 end
35 end
36
37 # GET /order_items/1/edit
38 def edit
39 @order_item = @order.items.find(params[:id])
40 end
41
42 # POST /order_items
43 # POST /order_items.xml
44 def create
45 @order_item = @order.items.new(params[:order_item])
46
47 respond_to do |format|
48 if @order_item.save
49 flash[:notice] = 'OrderItem was successfully created.'
50 format.html { redirect_to(@order_item) }
51 format.xml { render :xml => @order_item, :status => :created, :location => @order_item }
52 else
53 format.html { render :action => "new" }
54 format.xml { render :xml => @order_item.errors, :status => :unprocessable_entity }
55 end
56 end
57 end
58
59 # PUT /order_items/1
60 # PUT /order_items/1.xml
61 def update
62 @order_item = @order.items.find(params[:id])
63
64 respond_to do |format|
65 if @order_item.update_attributes(params[:order_item])
66 flash[:notice] = 'OrderItem was successfully updated.'
67 format.html { redirect_to(@order_item) }
68 format.xml { head :ok }
69 else
70 format.html { render :action => "edit" }
71 format.xml { render :xml => @order_item.errors, :status => :unprocessable_entity }
72 end
73 end
74 end
75
76 # DELETE /order_items/1
77 # DELETE /order_items/1.xml
78 def destroy
79 @order_item = @order.items.find(params[:id])
80 @order_item.destroy
81
82 respond_to do |format|
83 format.html { redirect_to(order_items_url) }
84 format.xml { head :ok }
85 end
86 end
87
88 private
89 def assign_session_order
90 unless session[:order_id].blank?
91 @order = Order.find(session[:order_id])
92 else
93 @order = Order.create
94 session[:order_id] = @order.id
95 end
96 end
97end