# Observer and uninitialized constant

**URL:** <https://www.ruby-forum.com/t/observer-and-uninitialized-constant/144013>\
**Category:** Rails\
**Created:** [July 24, 2008, 5:01pm UTC](https://www.ruby-forum.com/t/observer-and-uninitialized-constant/144013 "2008-07-24T17:01:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![netimpulse](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/45deac/32.png) [@netimpulse](https://www.ruby-forum.com/u/netimpulse)\
**Post date:** [July 24, 2008, 5:01pm UTC](https://www.ruby-forum.com/t/observer-and-uninitialized-constant/144013/1 "2008-07-24T17:01:44Z")

</div>

Hello,

I have an application running on rails 1.2.3  
I use act\_as\_authenticated and i want to add an observer on the users  
table.

my environment.rb file :

config.active\_record.observers = :user\_observer

I have created an user\_observer.rb file in the model folder like this :  
class UserObserver \< ActiveRecord::Observer

def after\_save(user)  
Notifications.deliver\_user(“_ **@** _\*.com”, “Modification on the  
account”, user)  
end

end

When i update a user entry, i have a crash and the following message in  
production.log file :

NameError (uninitialized constant UserObserver::Notifications):  
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active\_support/dependencies.rb:477:in  
`const_missing' /app/models/user_observer.rb:5:in`after\_save’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/observer.rb:154:in  
`send' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/observer.rb:154:in`update’  
/usr/local/lib/ruby/1.8/observer.rb:185:in `notify_observers' /usr/local/lib/ruby/1.8/observer.rb:184:in`each’  
/usr/local/lib/ruby/1.8/observer.rb:184:in `notify_observers' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:364:in`notify’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/callbacks.rb:328:in  
`callback' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:243:in`create\_or\_update’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/base.rb:1545:in  
`save_without_validation' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:752:in`save\_without\_transactions’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/transactions.rb:129:in  
`save' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/connection_adapters/abstract/database_statements.rb:59:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/transactions.rb:95:in  
`transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:121:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/transactions.rb:129:in  
`save' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1592:in`update\_attributes’  
/app/controllers/account\_controller.rb:79:in `update' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:1095:in`send’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/base.rb:1095:in  
`perform_action_without_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:632:in`call\_filter’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/filters.rb:638:in  
`call_filter' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:438:in`call’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/filters.rb:637:in  
`call_filter' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:638:in`call\_filter’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/filters.rb:438:in  
`call' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:637:in`call\_filter’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/filters.rb:619:in  
`perform_action_without_benchmark' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:66:in`perform\_action\_without\_rescue’  
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:66:in`perform\_action\_without\_rescue’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/rescue.rb:83:in  
`perform_action' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:430:in`send’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/base.rb:430:in  
`process_without_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:624:in`process\_without\_session\_management\_support’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action\_controller/session\_management.rb:114:in  
`process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:330:in`process’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:41:in  
`dispatch' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi_handler.rb:168:in`process\_request’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi\_handler.rb:143:in  
`process_each_request!' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi_handler.rb:109:in`with\_signal\_handler’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi\_handler.rb:142:in  
`process_each_request!' /usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.7/lib/fcgi.rb:612:in`each\_cgi’  
/usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.7/lib/fcgi.rb:609:in  
`each' /usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.7/lib/fcgi.rb:609:in`each\_cgi’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi\_handler.rb:141:in  
`process_each_request!' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi_handler.rb:55:in`process!’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/fcgi\_handler.rb:25:in  
`process!’  
dispatch.fcgi:24

Have you an idea ?  
Thanks,
