[Mongrel] Caching::Sweeper Access to Controller
jgeiger at gmail.com
Thu Sep 14 21:30:23 EDT 2006
I'm actually doing similar code, and it's working for me with the same
setup. I do have the issue with trying to figure out how to test that
sweeper code though...
On 9/14/06, Erik Morton <eimorton at gmail.com> wrote:
> I'm running Mongrel 0.3.13.3, cluster 0.2.0, and Rails 1.1.6 and I
> have a problem with a sweeper not having access to the controller
> NoMethodError (undefined method `session' for nil:NilClass):
> /app/models/audit_sweeper.rb:16:in `log'
> /app/models/audit_sweeper.rb:9:in `after_update'
> active_record/observer.rb:123:in `send'
> active_record/observer.rb:123:in `update'
> /usr/lib/ruby/1.8/observer.rb:185:in `notify_observers'
> /usr/lib/ruby/1.8/observer.rb:184:in `each'
> /usr/lib/ruby/1.8/observer.rb:184:in `notify_observers'
> Here's my code (the problem is with 'controller' being nil):
> def log(record, event, user = controller.session[:user])
> a = AuditTrail.new(:record_id => record.id, :record_type =>
> :event => event, :user_id => user)
> a.record_version = record.version if record.respond_to?("version")
> The interesting thing is that it only happens on actions within one
> of the controllers that are calling the cache sweeper
> (cache_sweeper :audit_sweeper).
> Any help or pointers would be much appreciated.
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
More information about the Mongrel-users