Ruby on rails 我的表单域在提交时被删除
因此,它没有通过验证 这是我的嵌入式表单:Ruby on rails 我的表单域在提交时被删除,ruby-on-rails,forms,Ruby On Rails,Forms,因此,它没有通过验证 这是我的嵌入式表单: - form_for [@organization, @referral] do |f| = f.error_messages = render :partial => 'referral_fields', :locals => { :f => f } = f.submit "Submit", :class => "button" #_referral_fields.html.haml .grid_7
- form_for [@organization, @referral] do |f|
= f.error_messages
= render :partial => 'referral_fields', :locals => { :f => f }
= f.submit "Submit", :class => "button"
#_referral_fields.html.haml
.grid_7
.grid_1{:style => "width: 64px;"}
= f.label :org_name, "Business", :class => "right"
.grid_4
= f.text_field_tag :org_name
.grid_7
.grid_1{:style => "width: 64px;"}
= f.label :name, '', :class => "right"
.grid_4
= f.text_field_tag :name
.grid_7
.grid_1{:style => "width: 64px;"}
= f.label :email, '', :class => "right"
.grid_2.omega{:style => "width: 114px;"}
= f.text_field_tag :email, '', :style => "width: 125px;"
.grid_1.alpha
= f.label :town, '', :class => "right"
.grid_2
= f.text_field_tag :town, '', :style => "width: 100px;"
当我单击submit时,SQL肯定会读取我输入的数据:
Processing ReferralsController#create (for ::1 at 2010-10-18 09:39:07) [POST]
Parameters: {"name"=>"asdfasd", "commit"=>"Submit", "action"=>"create", "authenticity_token"=>"/1bwOqHjojde3p0Py08mCrko8xULE4R+eXUvT6qf1cE=", "controller"=>"referrals", "org_name"=>"asdfasdf", "organization_id"=>"1", "town"=>"asdfasd", "email"=>"asdfasd"}
不知道我错过了什么。以下是控制器和型号:
#referral.rb
belongs_to :organization, :touch => true
validates_presence_of :org_name, :name, :email, :town
#referrals_controller.rb
def new
@referral = Referral.new
respond_to do |format|
format.html { render :layout => 'manage' }
end
end
def create
@referral = Referral.new(params[:referral])
if @referral.valid? && @organization.referrals << @referral
flash[:notice] = "Referrals saved."
redirect_to new_organization_referrals_path(@organization)
else
render :action => :new, :layout => 'manage'
end
end
#reflection.rb
属于:组织,:touch=>true
验证是否存在:组织名称、:名称、:电子邮件、:城镇
#转介\u controller.rb
def新
@推荐=推荐。新建
回应待办事项|格式|
format.html{render:layout=>manage'}
结束
结束
def创建
@转诊=转诊。新建(参数[:转诊])
如果@reflection.valid?&&@organization.referrals:新建,:布局=>“管理”
结束
结束
从参数来看,您的表单字段设置不正确
您正在使用params[:referral]散列来构建引用,但我在您的参数列表中没有看到:referral散列
您的表单字段应如下所示:
<input name="referral[name]"/>
<input name="referral[town]"/>
<input name="referral[org_name]"/>
等等
然后在你的参数列表中,你应该是这样的{:reference=>{:name=>“foo”,“org_name”=>“bar”,town=>“Boise”}啊,你是对的。我很可能没有从我的本地人身边经过?我更新了上面的表格,这样你就可以看到部分内容了。我的输入当前看起来像这样查看表单,我不能说它有任何问题。它必须以某种方式成为控制器。使用
=f.text\u field
而不是=f.text\u field\u tag
text\u field\u tag是FormTagHelper,而text\u field是FormHelper,这是两种不同的东西。看一下文档()。