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 %>