In several places, I've seen claims that overriding ActiveRecord::Base.initialize is wrong because it might not always be called:
With never versions of ActiveRecord (3.0+), is this still true? If so, what specifically are the circumstances under which it is not called when one might expect that it would be?
It's not that it won't be called, it's that there already is an initialize, in ActiveRecord::Base.
Could you call super? Probably, maybe, in general. Across Rails versions, including future ones? Reply hazy try again. Cannot predict now. Ask again later. Magic 8-Ball isn't convinced.
There's an initialize callback so you don't need to, and aren't tempted.
来源:https://stackoverflow.com/questions/8804868/why-is-overriding-activerecordbase-initialize-wrong