My controller became fat trying to handle multiple models - need guidance please

Hello all.

I am experiencing something that has to be fairly common in the rails
world, but I haven't found a clean solution yet.

I have a SignupController that handles multiple models in a single
Those models are User, UserProfile, CreditCard, Subscription, and
When the form is filled out and posted, I want to do exactly what I
would do if the form was only for a single model:
(1) Build the object from params[:model]
(2) Save the object, rendering errors to the form page if they exists
(otherwise flash 'Success').

Why is this so tough when dealing with multiple models? Here is what
am doing (and this is how I know it's too complicated and there must
a better way):
(1) Building each object (@user =[:user]), @cc =[:cc]), etc).
(3) I haven't gotten to manually building an 'errors' hash yet.

I would love to hear some feedback.
Many thanks,

Seems all of other the models are related to the User model, you should look into validates_associated:

Best regards

Peter De Berdt

Thanks for the feedback Peter.

From what I gather, validates_associated does not give specific error

feedback per model, so that is less than ideal. I have recently
learned that error_messages_for can take in multiple models, so that
is helpful. Still, I find dealing with multiple models in one form/
controller to be a bit cumbersome, especially compared to how smooth
everything else in rails is :slight_smile: