Topic: Refactoring a large controller
I recently inherited a project that has a huge user's controller. It handles the usual RESTful user actions (new,create,edit, destroy, etc) but it also has a ton of other stuff that deals with users but almost seems out of place. It handles all of the user signup and subscription payments, which would include creating a credit card transaction.. editing and changing credit card or subscription plans and then finally initiating the transactions. There are also some image uploading functions (via attachment_fu) that deal with a user uploading images.. destroying images.. and uploading a profile image. Finally (and this is a bit messy) we have 3 different types of users -- individuals, families, and business class. They actually require very similar functionality and can almost see why they were grouped togethe.. but you have separate create methods for individual/families and businesses.
So here's the question. This Users controller is big and just seems wrong. It would seem like new controllers should be introduced.. here are some possibilities, I'm wondering what your blind suggestions would be: Sign up controller, Photo controller, Individual/family/business controllers (they all use the same User model).