路由表单提交到不同的控制器

时间:2014-09-11 15:01:35

标签: ruby-on-rails forms simple-form

问题:我有一个表单,但提交按钮没有做任何事情。

我在employee_controller控制器中实例化表单所用的类。

  def employee
    @body_class = "employee membership"
    @employee_contact_form = CorporateContactForm.new
  end

我在上面的控制器动作服务的页面中创建表单

  = simple_form_for [@employee_contact_form] do |f|
    = f.input :firstname
    = f.button :submit

在我的路线中,我为联系表格设置了资源

  resources :corporate_contact_forms

然后我有一个提供表格的控制器

class CorporateContactFormsController < ApplicationController

  def create
    raise
  end

我知道corporatecontactcontroller中没有代码,但提交按钮至少应该触发错误。它没有做任何事情。

这感觉就像这么简单的问题,而且肯定是这样。 我错过了什么?

更新

html输出

<form>
              <form accept-charset="UTF-8" action="/corporate_contact_forms" class="simple_form new_corporate_contact_form" id="new_corporate_contact_form" method="post"><div style="display:none"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="7iMwWQOuyzV3jJt4jTtr9MGvI129hPaG+m+Pe2D3YyM=" /></div>        <div class="input string optional corporate_contact_form_firstname"><label class="string optional" for="corporate_contact_form_firstname">Firstname</label><input class="string optional" id="corporate_contact_form_firstname" maxlength="255" name="corporate_contact_form[firstname]" size="255" type="text" /></div>
                      <input class="button" name="commit" type="submit" value="Create Corporate contact form" />
              </form>
            </form>

1 个答案:

答案 0 :(得分:1)

根据文档(http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for),您可以执行以下操作强制表单转到CorporateContactFormsController#create

<%= simple_form_for @employee_contact_form, url: corporate_contact_forms_path, method: :post do |f| %>
    # awesome code...
<% end %>

此外,我不确定f.button :submit是否有事可做,提交的默认设置为f.submit