在表单提交时,它告诉我它已成功创建,但它没有显示已提交的任何数据。数据库是空的。它显示“空”值,并且在我应该能够编辑数据的实际屏幕上显示相同的值。这是截图
更新:我认为问题在于它正在发出GET请求,但我不知道如何修复它。这是我点击提交时我的服务器屏幕截图
以下是设置
在results_controller.rb的索引操作中,我有
def index
@results = Result.all
@blob = Sex.new //==@blob = Sex.new is the one I'm focussing on...
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @results }
end
end
在views / results / index中,我的表单为
<`%= form_for(@blob) do |f| %>`
<div class="field">
<b>1. solicitor exam was fixed?:</b><br/>
<%= f.label(:solicitorcurve, "it was cooked") %>
<%= f.radio_button(:solicitorcurve, "t") %> </br>
</div>
<div class="field">
<%= f.label(:solicitorcurve, "no it was ok") %>
<%= f.radio_button(:solicitorcurve, "f") %>
</div>
<div class="field">
<%= f.label(:draftingteach, "i give the teaching a grade of _ on a scale of 1 to 6") %>
<%= f.select:draftingteach, 1..6 %> </br>
</div>
在sexes_controller.rb的创建动作中我有
def create
@sex = Sex.new(params[:blob])
respond_to do |format|
if @sex.save
format.html { redirect_to(@sex, :notice => 'Sex was successfully created.') }
format.xml { render :xml => @sex, :status => :created, :location => @sex }
else
format.html { render :action => "new" }
format.xml { render :xml => @sex.errors, :status => :unprocessable_entity }
end
end
end
在models / sex.rb中,什么都没有......
class Sex < ActiveRecord::Base
end
这是数据库的设置
答案 0 :(得分:1)
看起来问题是,当您应该查看params[:blob]
时,您正在检索params[:sex]
。 form_for
将创建以对象类命名的字段。您正在使用的实例变量名@blob
是任意的。
...
@sex = Sex.new(params[:sex])
...
这是一个很好的论据,为什么你可能想要为它们的名称命名实例变量。减少混乱。