0

我正在制作一个没有任何型号的联系我们的表格。当人们点击联系我们时,我只是希望它成为主页中的一个弹出窗口。

在我们加载的部分中 _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>

我们在 application_controller.rb 中定义动作 deliver_contact_form

  def deliver_contact_form
    ContactMailer.welcome_email(params).deliver     
    respond_to do |format|        
      format.html { redirect_to comments_path }
    end
  end

当我只运行主页(localhost:3000)时,我得到

No route matches {:controller=>"application", :action=>"deliver_contact_form", :method=>"post", :locale=>:en}

我想知道我需要做什么?

谢谢,米娜

4

1 回答 1

0

您需要在您的 routes.rb 中定义路线

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

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

<% form_tag(deliver_contact_form_path, :method => 'post') do
于 2011-07-17T03:11:59.623 回答