Rails:如何将表单发布到另一个控制器操作

use*_*382 5 ruby forms ruby-on-rails ruby-on-rails-3

我知道你通常应该在rails中使用new/create和edit/update之间的链接,但我有一个需要别的东西的情况.无论如何我可以实现同样的连接吗?

我有一个模型的表单,我希望它发布数据(类似于新视图,发布到创建操作).

这是我的表格

<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>
Run Code Online (Sandbox Code Playgroud)

One*_*ude 8

使用该:url选项.

= form_for @job, :url => company_path, :html => { :method => :post/:put }
Run Code Online (Sandbox Code Playgroud)

  • 对于任何人得到这个错误`未定义的方法model_name for NilClass:Class`使用:`= form_for Job.new,url:company_path,method :: post` (2认同)