2013-06-09 3 views
5

So che di solito si suppone che si usi il collegamento tra nuovo/crea e modifica/aggiornamento in rotaie, ma ho un caso in cui ho bisogno di qualcos'altro. C'è comunque che posso raggiungere questa stessa connessione?Rails: Come rendere un modulo post su un'altra azione del controller

Ho un modulo per un modello e voglio che pubblichi i dati (simile a come una nuova vista, posta all'azione di creazione).

Qui è la mia forma

<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> 

risposta

8

Utilizzare l'opzione :url.

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

'= @job form_for,: url => company_path,: method =>: messaggio /: PUT' –

+2

Per chiunque ottenere questo errore' metodo model_name indefinito in NilClass: class' utilizzare questo: '= form_for lavoro .new, url: company_path, metodo:: post' – brntsllvn