Skip to content
Browse files

Fixed after_initialize/after_find guide

Defining after_initialize and after_find as ordinary methods like documented
in the guide doesn't work with Rails 3.1.1; now macro-style is used here, too.
  • Loading branch information...
1 parent 36a5f48 commit bcd25e7576094a98dbc9f4b1ba2fb3451d13bf40 Florian Walch committed Nov 5, 2011
Showing with 3 additions and 3 deletions.
  1. +3 −3 railties/guides/source/active_record_validations_callbacks.textile
6 railties/guides/source/active_record_validations_callbacks.textile
@@ -978,15 +978,15 @@ The +after_initialize+ callback will be called whenever an Active Record object
The +after_find+ callback will be called whenever Active Record loads a record from the database. +after_find+ is called before +after_initialize+ if both are defined.
-The +after_initialize+ and +after_find+ callbacks are a bit different from the others. They have no +before_*+ counterparts, and they are registered simply by defining them as regular methods with predefined names. If you try to register +after_initialize+ or +after_find+ using macro-style class methods, they will just be ignored. This behavior is due to performance reasons, since +after_initialize+ and +after_find+ will both be called for each record found in the database, which would otherwise significantly slow down the queries.
+The +after_initialize+ and +after_find+ callbacks have no +before_*+ counterparts, but they can be registered just like the other Active Record callbacks.
class User < ActiveRecord::Base
- def after_initialize
+ after_initialize do |user|
puts "You have initialized an object!"
- def after_find
+ after_find do |user|
puts "You have found an object!"

0 comments on commit bcd25e7

Please sign in to comment.
Something went wrong with that request. Please try again.