NilClass#id
exists in Ruby 1.8 (though it is deprecated). Since id is a
fundamental method of Active Record models NilClass#id is
redefined as well to raise a RuntimeError and warn the user. She probably
wanted a model database identifier and the 4 returned by the original
method could result in obscure bugs.

The flag config.whiny_nils determines whether this feature is
enabled. By default it is on in development and test modes, and it is off
in production mode.