Notes posted by scottwhite
RSS feedif you get NameError: uninitialized constant ActionController::Caching::Sweeper
I got hit with this on an upgrade. Had a reference to ApplicationController::Base in development.rb (prod as well) which caused this problem http://rails.lighthouseapp.com/projects/8994/tickets/1977
Fix was to remove the loading of ApplicationController::Base and put it in an initializer (where it should have been).
Whacky edge case
The above works great as long as you select the primary key of the owning assocations.
preload_associations calls a group_by on that object so if there is no primary key attributed filled out it will reduce the records to 1 object. ex: rows = foo.find(:all,:select=>“boo.id, foo.name, foo.age, count(DISTINCT foo.id)”, :group=>“foo.name,foo.age having count( DISTINCT foo.id) > 1”,:joins=>“INNER JOIN bar.foo on bar.foo_id = foo.id”)
preload_assications(rows,:bar)
rows.first.bar.name #=> sql call already made in preload rows.last.bar.name #=> just made another sql call to get bar
fix: :select=>“foo.id, boo.id, foo.name, foo.age, count(DISTINCT foo.id)”
now preload_associations will include all the ids found instead of just the 1st one.