2012-04-04 65 views
2

所以我有一个简单的形式,通过一个单一的提交按钮进入“品牌”和“模式”,如下图所示:模型验证错误嵌套模型simple_form

<%= simple_form_for @brand, :html => { :class => 'form-horizontal' } do |m| %> 
    <fieldset> 
    <legend><%= controller.action_name.capitalize %> /Brand</legend> 
     <%= m.input :name %> 

     <%= m.simple_fields_for :models, Model.new do |p| %> 
     <%= p.input :name %> 
    <% end %> 

    <div class="form-actions"> 
     <%= m.submit nil, :class => 'btn btn-primary' %> 
     <%= link_to 'Cancel', brands_path, :class => 'btn' %> 
    </div> 
    </fieldset> 
<% end %> 

我的名字:字符串我的品牌和型号模式..和validates_presence_of:两种模式中的名称..形式DOES可以同时创建品牌和模型,但是我的错误“不能空白”仅出现在品牌领域。

感谢您对此问题的任何帮助。

+0

您的品牌模型中是否有accepted_nested_attributes_for:个模特? – DanS 2012-04-04 08:43:41

+0

是的。我确实......并且代码有效......但是我说“我的品牌”和“模型”字段为空,“不能为空”仅出现在“品牌”文本字段旁边。 – Abram 2012-04-04 08:49:17

+0

听起来很有希望..但没有,没有做伎俩..以及它没有破坏任何东西,但仍然没有模型字段旁边的错误消息。验证确实似乎正在工作,即使没有validates_associated ..如果我只是填写“品牌名称”字段,然后单击提交新的品牌将不会保存在数据库。换句话说,我必须在两个领域都输入一些东西来保存品牌,这让我认为验证是可以的。 – Abram 2012-04-04 08:57:41

回答

2

认识到我做错了什么。还需要在控制器中放置@model = Model.new,并将<%= m.simple_fields_for:models,@model do | p | %>