2012-04-10 45 views
0

我创建了一个我想在我的应用程序布局中提交的反馈表单。在不同的视图中发布表单到导轨

app/views/layout/application.html.erb

<%= form_tag "/feedback_responses", :id => "feedback-form", do |f| %> 
    <%= label_tag "feedback" %> 
    <%= text_area_tag "feedback" %> 
<% end %> 

<button id="submit-feedback">Feedback</button> 

app/assets/javascripts/application.js

//= require jquery 
//= require jquery-ui 
//= require twitter/bootstrap 


$("#feedback-form").dialog({ 
    autoOpen: false, 
    height: 300, 
    width: 350, 
    modal: true, 
    buttons: { 
     "Send feedback": function() { 
      $.post(this.action, $(this).serialize(), function(){ 
      $(this).dialog("close"); 
      }); 
     }, 
     "No thanks": function() { 
      $(this).dialog("close"); 
     } 
    }, 
    close: function() { 
    } 
}); 


$("#submit-feedback").button().click(function() { 
     $("#feedback-form").dialog("open"); 
    }); 

当我尝试发布,控制器日志

Started POST "/feedback_responses" for 127.0.0.1 at 2012-04-09 21:54:40 -0400 
    Processing by FeedbackResponsesController#create as */* 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"HOPejZ/me+tTVglsNZjLoMqs0+SLaz5+AYPWWhiTAoY=", "feedback"=>"asdf"} 
    SQL (0.8ms) INSERT INTO "feedback_responses" ("created_at", "feedback", "updated_at") VALUES (?, ?, ?) [["created_at", Tue, 10 Apr 2012 01:54:41 UTC +00:00], ["feedback", nil], ["updated_at", Tue, 10 Apr 2012 01:54:41 UTC +00:00]] 
Redirected to http://myapp.dev/feedback_responses/7 
Completed 302 Found in 51ms 

控制器是脚手架app/controllers/feedback_responses_controller.rb

# POST /feedback_responses 
    # POST /feedback_responses.json 
    def create 
    @feedback_response = FeedbackResponse.new(params[:feedback_response]) 

    respond_to do |format| 
     if @feedback_response.save 
     format.html { redirect_to @feedback_response, notice: 'Feedback response was successfully created.' } 
     format.json { render json: @feedback_response, status: :created, location: @feedback_response } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @feedback_response.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

有些东西在帖子或控制器上配置有误,但我无法弄清楚我做错了什么。

回答

0

我对我的其他表格进行了更深入的研究并找出了它。

这是因为该键后使用的名字:

<%= form_tag "/feedback_responses", :id => "feedback-form", do |f| %> 
    <%= label_tag "feedback" %> 
    <%= text_area_tag "feedback" %> 
<% end %> 

应该

<%= form_tag "/feedback_responses", :id => "feedback-form", do |f| %> 
    <%= label_tag "feedback" %> 
    <%= text_area_tag "feedback_response[feedback]" %> 
<% end %>