Hello,
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
instance.
NoMethodError (undefined method `session' for nil:NilClass):
/app/models/audit_sweeper.rb:16:in `log'
/app/models/audit_sweeper.rb:9:in `after_update'
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/
active_record/observer.rb:123:in `send'
/usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/
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 =>
record.type.name,
:event => event, :user_id => user)
a.record_version = record.version if record.respond_to?("version")
a.save!
end
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.
Erik
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users