question about render

Hi there, i have a question respect to the "render"

when use render in the controller

def create     @contacto = Contacto.new(params[:contacto])     respond_to do |format|       if @contacto.save         flash[:notice] = 'Su Consulta ha sido enviada'         crear_correo(@contacto)         format.html { redirect_to(:action => :new) }       else         format.html { render :controller => :contactos, :action => :new }       end     end   end

when the form have an error ,they should show error.. and do it.

but the url 'contactos/new' to 'contactos'

then if i use redirect_to ... the form don't show the errors

my question..how i do keep the url?

sorry for my language D=

thx for the help!

Why do you want to keep the same URL? As you noticed, you definitely want to do a render, not a redirect. If you want to keep the / contactos/new URL, then you'll need to break the Rails restful conventions. By convention, a GET of /contactos/new will POST to / contactos. You could change your routing to something like this: map.connect "/contactos/new", :controller => "contactos", :action => "create", :conditions => {:method => :post}

However, I would try to use the convention unless you have a strong reason for posting to /new.

-Dan Manges http://www.dcmanges.com/blog