Thursday, October 15, 2009

Workshop 6

Developer's thread

OTBS develops for passengers booking online, with the auto-generated application controller. That creates for passenger site and user.

The user_controller provides the user form for users can registry and control their information. There are index, edit, register, login and logout.Moreover, the passenger_controller provides some methods for modification the information of passenger such as index, show, new, update and delete.

Here is the code for passenger controller:


class PassengersController < user =" User.find(session[:user_id])" passengers =" Passenger.find_all_by_user_id(session[:user_id])" xml =""> @passengers }
end
end


# GET /passengers/1
# GET /passengers/1.xml
def show
@passenger = Passenger.find(params[:id])
if @passenger.user_id == User.find(session[:user_id])
respond_to do format
format.html # show.html.erb
format.xml { render :xml => @passenger }
end
end
end


# GET /passengers/new
# GET /passengers/new.xml
def new
@user = User.find(session[:user_id])
@passenger = Passenger.new
respond_to do format
format.html # new.html.erb
format.xml { render :xml => @passenger }
end
end

# GET /passengers/1/edit
def edit
@passenger = Passenger.find(params[:id])
end

# POST /passengers
# POST /passengers.xml
def create
@passenger = Passenger.new(params[:passenger])
@passenger.user_id = session[:user_id]
respond_to do format
if @passenger.save
flash[:notice] = ‘Passenger was successfully created.’
format.html { redirect_to(@passenger) }
format.xml { render :xml => @passenger, :status => :created, :location => @passenger }
else
format.html { render :action => “new” }
format.xml { render :xml => @passenger.errors, :status => :unprocessable_entity }
end
end
end

# PUT /passengers/1
# PUT /passengers/1.xml
def update
@passenger = Passenger.find(params[:id])
respond_to do format
if @passenger.update_attributes(params[:passenger])
flash[:notice] = ‘Passenger was successfully updated.’
format.html { redirect_to(@passenger) }
format.xml { head :ok }
else
format.html { render :action => “edit” }
format.xml { render :xml => @passenger.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /passengers/1
# DELETE /passengers/1.xml
def destroy
@passenger = Passenger.find(params[:id])
@passenger.destroy
respond_to do format
format.html { redirect_to(passengers_url) }
format.xml { head :ok }
end
end
end



There is the passenger index method:

@passengers = Passenger.find_all_by_user_id(session[:user_id])
Which the user_id is a foreign key to look up the passenger information.

User can get to this site for register or login.



In the first time going to this site, user has to create the account to login as well. when users login successful absolutely and they can use the form for booking taxi as well.



No comments:

Post a Comment