2013-04-02 12 views
6

Ich habe eine recht lange Form in meiner App, also habe ich eine _new_form.html.erb eingerichtet, die in meinem new.html.erb gerendert wird. Nachdem der Benutzer dieses Formular aktualisiert und einige grundlegende Validierungen bestanden hat, möchte ich, dass sie an die Adresse edit.html.erb umgeleitet werden, die das vollständige Formular, d. H. _new_form.html.erb, rendert.redirect_to bearbeiten

Ich bin sicher, dass dies grundlegende Dinge sind, aber ich kann nicht herausfinden, wie es geht.

Ich habe versucht, die erstellen Aktion in meinem Contoller mit dem unten, aber ich bekomme jetzt wo.

heißt

def create 
    @location = Location.new(params[:location]) 
     #redirect_to :action => "edit" 

    respond_to do |format| 
     if @location.save 
     format.html { redirect_to edit_location_path(:id), notice: 'Location was successfully created.' } 
     format.json { render json: @location, status: :created, location: @location } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @location.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

Antwort

13

Sie versuchen zu edit_location_path(:id) umleiten. Das Symbol :id ist nicht das, was Sie hier passieren möchten. Sie möchten die ID des Standorts oder den Standort selbst: redirect_to edit_location_path(@location)

+0

Brilliant, danke ein mil. – Holly