…it’s very unpractical to have two error messages displayed when empty
("…can’t be blank" and “…is not a number”).
validates_numericality_of can be interpreted a couple different ways.
The way I read it the value must be a number. Empty string or nil is not
a number therefore invalid.
So I would say that putting validates_presence_of and
validates_numericality_of is redundant. If you want an column to be
optional but if specified must be a number then you should use: