Form Objects, the missing abstraction in Rails

Stop putting the right code in the wrong place! It's easy to get carried away using Rails scaffolding, but sometimes a Plain Old Ruby Object (PORO) is more than appropriate. And Form Objects are very good at keeping models lean, controllers sharp, and grouping related code together in one object that's easy to test.