Rails:我使用form_for将数据发布到某个操作但它不起作用

时间:2015-09-06 13:22:55

标签: ruby-on-rails routes form-for

现在我正在尝试使用mailgun gem发送电子邮件。所以我做了一个form_for这样的帮助。

这是我的 index.html.erb 文件。

 <form class="form-horizontal">
    <fieldset>
      <legend>FEEDBACK</legend>
      <div class="form-group col-md-12" align="center">
        <%= form_for :feedback, url: feedback_path do |f| %>
          <%= f.text_area :contents, class: "form-control", style: "width:112%", :rows => 5 , :autocomplete => :off %>
          <% unless user_signed_in? %>
            <div class="col-md-12" style="height: 10px"></div>
            <%= f.text_field :from, class: "form-control", style: "width:112%", :autocomplete => :off, :placeholder => "Leave your email" %>
          <% end %>
          <div class="col-md-12" style="height: 10px"></div>
          <%= f.submit "Send", class: "btn btn-default" %>
        <% end %>
      </div>
    </fieldset>
  </form>

这是我的 home_controller.rb 文件。

class HomeController < ApplicationController

def feedback_send
    from = params[:feedback][:from]
    contents = params[:feedback][:contents]
    FeedbackMailer.feedback_email(from, contents).deliver_now

    redirect_to :back
end

这是 routes.rb 文件

post '/feedback_send', to: 'home#feedback_send', as: 'feedback'

但它不起作用。它重定向到“http://localhost:3000/?utf8=%E2%9C%93&authenticity_token=Whcu6QAF5XGBwYIv8A%2B2r6KvOyXIqc9jC%2BB1y%2Fp4zXQ%3D&feedback%5Bcontents%5D=12312321312&feedback%5Bfrom%5D=&commit=Send”。

当我查看服务器的日志时,它会显示如下。

Started GET "/?utf8=%E2%9C%93&authenticity_token=Whcu6QAF5XGBwYIv8A%2B2r6KvOyXIqc9jC%2BB1y%2Fp4zXQ%3D&feedback%5Bcontents%5D=12312321312&feedback%5Bfrom%5D=&commit=Send" for 127.0.0.1 at 2015-09-06 22:08:00 +0900

我无法理解这里的错误。

0 个答案:

没有答案