ruby - Rails 3 creates duplicate form object for nested records when updating them -
there 2 models class category < activerecord::base has_many :products accepts_nested_attributes_for :products, allow_destroy: true validates_associated :products end class product < activerecord::base belongs_to :category validate_uniqueness_of :name, scope: :category_id end and form category <%= simple_form_for @category |f| %> <%= f.simple_fields_for :products |p| %> <%= render :partial => "product_fields", :locals => { :f => p } %> <% end %> <% end %> as can see there uniqueness validation makes sure products uniq within category. problem starts when validation not passed. calling @category.update_attributes(params[:category]) results in duplicate form object. when rendering form errors rails creates additional associated product id of duplicate record different name. for example: given have 2 products within category: bread , butter. if set butter bread when editing category's pro...