Modified functionality assuming it wouldn't affect the user other than providing a more appropriate error message. When an id was entered that wasn't a number, to_i would convert it to 0 (not really what the user entered.  Also when an id was entered that was a floating point, .to_i would cut off the decimal value and also not be what the user entered.  So I mark these as invalid and don't change their value to the user instead of modifying and saying they can't be found.

I would probably simplify the rspec files and reuse code if I knew it better. Maybe I'll look at that at a later time.