The reason is quite simple. Ruby on Rails creates attribute accessors dynamically and therefore helps itself with the method missing approach. But at the time of class instantiation the accessors are not created yet. However when alias_method tries to make a copy of the original method, it consequentially fails with NameError.
The solution is Module#alias_attribute. Ruby on Rails extended Module and enables aliasing in ActiveRecord. The principle is simple. A new method is created by meta programming, which inernally calls the original method.
Thus the model has to look like: