update_attributes

I'm working on a form that updates a product record and several
associated detail records.

The detail records are showing and populating okay in the form. But
when it hits the controller, I get Couldn't find Detail with ID=detail
AND (details.product_id = 38). The :detail params seem to refer to the
correct record id. Anyone have an idea how to fix this?

Here's the controller:

  def edit
      if request.get?
          @product = Product.find(params[:id], :order=>'gender, size',
:include=>'details' )
      else
        @product = product.find(params[:id])
        [:detail].each {|id, attributes|
@product.details.find(id).update_attributes(attributes)}
      if @product.update_attributes(params[:product])
            flash[:notice] = 'product was successfully updated.'
            redirect_to :action => 'show', :id => @product
        else
            render :action => 'edit'
        end
      end
  end

And part of the view:

<% for @detail in @product.details %>
  <%=text_field "detail[]", "remaining", :size=>4 %>
<% end %>

Hi --

I almost bought the book the other day -- it looked really good. Now
I'll definitely have to :slight_smile: