Redirect to produces a HTTP response which instructs browser to open another page. This means that context is lost during redirect (e.g. parameters posted and such). render :action just takes template with action name and renders it. It was discussed here that name of :action parameter is a bit confusing.