2013-06-09 7 views
5

machen Ich weiß, dass Sie normalerweise die Verbindung zwischen neuen/erstellen und bearbeiten/aktualisieren in Schienen verwenden sollen, aber ich habe einen Fall, wo ich etwas anderes brauche. Kann ich diese Verbindung trotzdem erreichen?Rails: Wie man ein Formular auf eine andere Controller Aktion

Ich habe ein Formular für ein Modell und ich möchte es die Daten (ähnlich wie eine neue Ansicht, Post auf die Aktion erstellen).

Hier ist meine Form

<div id="new-job"> 
    <%= form_for(@job) do |f| %> 
    <% if @job.errors.any? %> 
     <div id="error_explanation"> 
     <h2><%= pluralize(@job.errors.count, "error") %> prohibited this job from being saved:</h2> 

     <ul> 
     <% @job.errors.full_messages.each do |msg| %> 
      <li><%= msg %></li> 
     <% end %> 
     </ul> 
     </div> 
    <% end %> 

    <div class="field"> 
     <%= f.label :name %><br /> 
     <%= f.text_field :name %> 
    </div> 
    <div class="field"> 
     <%= f.label :location %><br /> 
     <%= f.text_field :location %> 
    </div> 
    <div class="field"> 
     <%= f.label :description %><br /> 
     <%= f.text_area :description %> 
    </div> 
    <div class="actions"> 
     <%= f.submit "create job", id: "submit-job", class: "button small radius" %> 
     <%= link_to "go back", jobs_path, class: "button small radius secondary" %> 
     <div id="new-job-errors"> </div> 
    </div> 
    <% end %> 
</div> 

Antwort

8

Verwenden Sie die :url Option.

= form_for @job, :url => company_path, :html => { :method => :post/:put } 
+0

'= form_for @job,: url => company_path,: method =>: post /: put' –

+2

Für alle diese Fehler' nicht definierte Methode model_name für NilClass bekommen: CLASS' diese verwenden: '= form_for Job .new, URL: Firmenpfad, Methode:: Beitrag' – brntsllvn

Verwandte Themen