Ruby on rails Rails:没有路由匹配,正在创建联系我们表单

Ruby on rails Rails:没有路由匹配,正在创建联系我们表单,ruby-on-rails,routes,actionmailer,contact-form,Ruby On Rails,Routes,Actionmailer,Contact Form,我正在制作一个没有任何型号的联系我们表格。我只想它是一个弹出式的主页时,人们点击联系我们 在我们加载的部分_contact.html.haml中,这就是我们所拥有的 <div class="contact-us-form"> <h>Contact Us</h> <% form_tag(:controller => "application", :action => "deliver_contact_form", :method=

我正在制作一个没有任何型号的联系我们表格。我只想它是一个弹出式的主页时,人们点击联系我们

在我们加载的部分_contact.html.haml中,这就是我们所拥有的

<div class="contact-us-form">

  <h>Contact Us</h>
  <%  form_tag(:controller => "application", :action => "deliver_contact_form",  :method=>'post') do %>
    <p>
      <%= label_tag(:contact_email, "Your Email") %>
    </p>
    <p>
      <%= text_field_tag(:contact_email) %>
    </p>
    <p>
      <%= label_tag(:contact_detail, "Details") %>
    </p>
    <p>
      <%= text_area_tag(:contact_detail,:"", :size=> "44x6") %>
    </p>
    <p>
      <%= submit_tag("Submit") %>
    </p>
  <% end %>  
  <div id="contact_cancel"><%= link_to "Cancel", "javascript:void()"%></div>
</div>
当我只运行主页localhost:3000时,我得到

No route matches {:controller=>"application", :action=>"deliver_contact_form", :method=>"post", :locale=>:en}
我在想我需要做什么

谢谢,
mina

您需要在routes.rb中定义路由

我还建议创建一个新的控制器,即使是像这样的小动作:

match '/deliver_contact_form' => 'application#deliver_contact_form', :via => :post

<% form_tag(deliver_contact_form_path, :method => 'post') do

你的routes.rb文件是什么样子的?我的routes.rb中没有任何与此相关的内容,这就是为什么我会发布以下内容:
match '/deliver_contact_form' => 'application#deliver_contact_form', :via => :post

<% form_tag(deliver_contact_form_path, :method => 'post') do