I have a very simple relationship - a container has many items containers(title, items_count) items(container_id, title) class Item < ActiveRecord::Base belongs_to :container, :counter_cache => true end My views/items/edit.html.erb looks like this: <p> <%= f.label :assign_to_container %> <%= f.collection_select :container_id, Container.all, :id, :title %> </p> And my items_controller.rb looks like this: class ItemsController < ApplicationController def edit @item = Item.find(params[:id]) end def update @item = Item.find(params[:id]) if @item.update_attributes params[:item] flash[:notice] = "Item updated" redirect_to items_path else render :action => :edit end end end My problem is that the counter cache (container.items_count) is not getting updated when I update an item''s container. Anyone know what I''m doing wrong? I''m on Rails 2.3.5 p.s. I got it to "work" by add this to my update action, but it seems like there should be a cleaner solution def update @item = Item.find(params[:id]) @item.container = Container.find(params[:item][:container_id]) unless params[:item][:container_id].blank? if @item.update_attributes params[:item] flash[:notice] = "Item updated" redirect_to items_path else render :action => :edit end end -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.