Hi, I have two questions about the code generated by the
scaffold_resource generator (I think about this code as a general hints,
good habits, even if most of the time I think that generators are
weirds)
- DRY : in a real application the code (the "business logic") in the
create and update methods is quite the same - In previous projects I
always used to have a single method handling the two based on the case
it was a POST or a GET request - Which solution is the best ?
- respond_to do |format| : why does the generator produces both code for
.html and .xml formats ? What am I supposed to do with the .xml part if
I not working on a web service or such ? Remove it ?
Thanks
Unmodified code :
class ClientsController < ApplicationController
# GET /clients
# GET /clients.xml
def index
@clients = Client.find(:all)
respond_to do |format|
format.html # index.rhtml
format.xml { render :xml => @clients.to_xml }
end
end
# GET /clients/1
# GET /clients/1.xml
def show
@client = Client.find(params[:id])
respond_to do |format|
format.html # show.rhtml
format.xml { render :xml => @client.to_xml }
end
end
# GET /clients/new
def new
@client = Client.new
end
# GET /clients/1;edit
def edit
@client = Client.find(params[:id])
end
# POST /clients
# POST /clients.xml
def create
@client = Client.new(params[:client])
respond_to do |format|
if @client.save
flash[:notice] = ''Client was successfully created.''
format.html { redirect_to client_url(@client) }
format.xml { head :created, :location => client_url(@client) }
else
format.html { render :action => "new" }
format.xml { render :xml => @client.errors.to_xml }
end
end
end
# PUT /clients/1
# PUT /clients/1.xml
def update
@client = Client.find(params[:id])
respond_to do |format|
if @client.update_attributes(params[:client])
flash[:notice] = ''Client was successfully updated.''
format.html { redirect_to client_url(@client) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @client.errors.to_xml }
end
end
end
# DELETE /clients/1
# DELETE /clients/1.xml
def destroy
@client = Client.find(params[:id])
@client.destroy
respond_to do |format|
format.html { redirect_to clients_url }
format.xml { head :ok }
end
end
end
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---