6

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?

Community
  • 1
  • 1
Ryan Hanks
  • 86
  • 1
  • 5
  • 1
    It might be better to turn this question around: Why do you feel the need to override Base.initialize? – Martijn Jan 10 '12 at 15:11

1 Answers1

3

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.

Dave Newton
  • 158,873
  • 26
  • 254
  • 302