【问题标题】:Rails : No route matches , creating contact us formRails:没有路线匹配,创建联系我们表格
【发布时间】:2011-10-06 23:37:06
【问题描述】:

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

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

我想知道我需要做什么?

谢谢, 米娜

【问题讨论】:

  • 您的routes.rb 文件是什么样的?
  • 我的 routes.rb 中没有与此相关的任何内容,这就是为什么要发布此内容的原因:)

标签: ruby-on-rails routes actionmailer contact-form


【解决方案1】:

你需要在你的 routes.rb 中定义路由

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多